This week’s Developer Tool, and as a matter of fact, our very first publication of the entire series, is nothing more than a simple text editor. We’re talking about the amazing Notepad++ of course. All of my fellow programmers out there know exactly what I’m talking about, when I say that the hunt for the perfect text editor is a never ending journey, during which dozens and dozens of pit stops are made, on horrible editors, decent editors, OK editors, atrocious editors, even – every once in a while, a good editor.

An “amazing” editor, however, is an elusive creature you must be a seasoned hunter to capture….

Basically, a text editor, is a simple editor which creates plain text (.txt) files, such as the familiar EditPad or NotePad (**shudder**). Now, there are some developers and programmers who prefer an IDE to a text editor for programming purposes, I suppose the idea of an IDE is good in principle, but I’ve found that text editors work much better for me, not only in usability, but in keeping me sharp on syntax, best practices and the like – as an IDE can easily create a lazy programmer with bad habits.

Why do geeks love text editors? Here are a few reasons I’ve found to be widely adopted fav’s:

  • Easy To Use
  • Portability
  • No Vendor Lock-In

Let’s explore that first one: Ease of Use. This is an awesome feature – there is virtually no learning curve, as a matter of fact, there really isn’t anything to learn at all, you just open a file and start typing. Period. There are no keyboard shortcuts or special syntax to learn on top of the myriad of languages we already have packed in our overloaded brains. We’ve all been there with programming editors with huge learning curves – Vi to mention the Holy grail of the geek editor tool (I’ll never forget when my cohorts over at PerlMonks tricked me into entering Vi as a new programmer learning good ol’ Perl as my first language, many years ago, and then watched in pure pleasure as I promptly had a complete panic attack trying to get out, feeling absolutely certain I had somehow broken my entire Linux box). So, the best part of this reason, is that text editors allow you to code and/or write – not muck with tools and settings, etc.

Next: Portability. This is of course one of the best reasons to use .txt files in general. This file extension is portable between just about any operating system in existence. Plain text files can be used/opened on Windows, Mac OS, iOS, Android, Windows Phone, Linux, etc. All of which have built-in methods for displaying the file’s contents, as well as allowing for editing the file’s contents.

Finally: No Vendor Lock-In. Geeks are absolutely famous for rejecting any tools, development or otherwise, which purposefully (or otherwise) attempt to force the use and/or adoption of a particular vendor. This of course goes right along with Portability, there is no application or special integrations, or vendor downloads/installs required to view any .txt files, either for us, or our clients.

OK, enough said about geeks and our love affair with text editors. I have found an awesome editor, and I just had to share it with my fellow developers. Although it isn’t all that new and may well be in your tool box already – if so, well you’re going to kick yourself in the head after wasting the half hour it took to read this article. 😉 Notepad++, as I mentioned above, is just awesome. It comes with easily modified and created loadable themes, allowing for a low-contrast theme to be used when eye strain and 87 hour coding binges require it. Below is a screen shot of my fav, Solarize, as compared to the default:


There are of course, dozens of other themes which can be loaded or chosen as well.

I could go on and on about how awesome it is to be able to open a data file with tens of thousands of lines (or much more even) and actually have it opened without sending my entire operating system into a panic attack, or how amazing the file comparison feature is, or the bad-ass regex search and replace capabilities – however, such an amazing tool as Notepadd++, speaks for itself, check out the specs below, go to their home site, download and get Your Geek On!

Developer Tool for the Week

  • Tool Name:                                 Notepad++
  • Version:                                       6.3.3
  • Download URL:                
  • Languages Supported:             C, C++, Java, C#, XML, HTML, PHP, JavaScript, RC file, makefile, NFO, doxygen, INI file, batch file, ASP,         VB/VBS,  SQL, Objective-C, CSS, Pascal, Perl, Python, Lua, Unix Shell Script, Fortran, NSIS and Flash action script,
  • Requirements:                           Windows 7, Windows Me, Windows 98, Windows 2000, Windows Vista, Windows XP, Windows NT

Features List

  • Syntax Highlighting and Syntax Folding
  • User Defined Syntax Highlighting and Folding
  • PCRE (Perl Compatible Regular Expression) Search/Replace
  • GUI entirely customizable: minimalist, tab with close button, multi-line tab, vertical tab and vertical document list
  • Document Map
  • Auto-completion: Word completion, Function completion and  Function parameters hint
  • Multi-Document (Tab interface)
  • Multi-View
  • WYSIWYG (Printing)
  • Zoom in and zoom out
  • Multi-Language environment supported
  • Bookmark
  • Macro recording and playback
  • Launch with different arguments
  • Supports tabbed editing
  • Find and replace: with regular expressions (including multi-line); over multiple documents; and marking/summary of occurrences
  • Tabbed document interface
  • Drag-and-drop
  • Multiple clipboards (plugin required)
  • Split screen editing and synchronized scrolling
  • Spell checker (requires Aspell) (Spell checker does not distinguish between text and code)
  • Supports text encoding formats such as Unicode, for international writing systems. UTF-8 and several UTF-16 encodings are supported.
  • Find and replace: with regular expressions (including multi-line); over multiple documents; and marking/summary of occurrences
  • File comparison
  • Twice a winner of the SourceForge Community Choice Award for Best Developer Tool