Over the years I have loved working with code and can recall when I first saw those little lines that created a table to create a two column page and used simple graphics as the background of the entire table. I was using Microsoft’s FrontPage editor to not only create my own pages but to look at the lines of code other pages were using. From that I learned how to create simple things like links, images and the basics of how a web page is created.

Several years later I found out about Adobe’s GoLive program and wanted to try it out. I downloaded a demo and fell in love with the WYSIWYG (what you see is what you get) editor but quickly realized that it wasn’t for me. I loved seeing the curly braces, the semicolons, greater than, ampersand and all the dancing characters that actually made the page a page and gave it the theme it did.

A few more years pass by and now Adobe has DreamWeaver. I, of course, tried that out and loved being able to switch between the two but still wasn’t fully in love. I will never really be satisfied, I guess. I have weird expectations when it comes to things like that, but that is besides the point. I knew I wouldn’t be able to afford the program so I ventured out to see what other available code editors were available. I found several but the one that I still use to this day is Notepad++.

The main reason I fell in love with it was the ability to change the theme to my own personal one. I could create one and choose to share with the community if I wanted. (I have yet to create a custom theme but will be when I have a lot more time to.)

Aside from the ability to change themes the biggest reason was the syntax highlighting of the program. Being that it is free doesn’t hurt much either. Recently a new version came out and they added a few more things to make me want to keep using it more and more. The best feature for me is the document map. It helps so much when looking over the nearly nine thousand lines of code that make up the development version of jQuery to understand how it works or looking at the beautiful code that makes up WordPress.

Document Map

Along with the ability to quickly look over the lines of code is the ability to quickly change themes. There are a few that come already with it but I use one that I found here. It is a simple one for web developer/designers but it is somewhat limited when it comes to other language support in syntax highlighting. For me it does the job on a smaller screen and for my main computer I like using a darker style so I can keep looking at the screen just a few more minutes longer.

Theme selection

Along with styles there several plugins that make it all worthwhile to code an iOS app, site or simple script. For those site developers using the native FTP support is extremely simple and rather intuitive. Nothing fancy for me which is what I love in FTP support. You have the ability to create several profiles (sites) and connect/disconnect when you please. Besides FTP, there is also REGEX support and many, many more plugins. The newest one being PCRE (Perl Compatible Regular Expressions) support and I know that once I get a good book on Perl and regular expressions I will be using that to its full extent.

Plugin manager

Being able to connect via FTP is good and being able to read all those lines of code is what a code editor should really be about. Having the ability to change the font to what I like and the colors to my choosing so I can differentiate between what is a comment and what is actual code is essential when it comes to developing and creating a good web app.

JavaScript syntax highlighting

But what is a good editor without the ability to expand and collapse? One of my favorite features of Notepad++ is the ability to do so. Almost a perfect model of what a document tree is. That is one feature that I have used since the first day I installed it in on my computer.

With technology making things much, much easier to distribute in the next release I can’t help but wonder what will be next. The one thing I would love to see is either a plugin that has support for version control or have that be part of its core program. Only time will tell.