All said, here is another piece of observation. There is no such thing as a ‘perfect code editor’. They all tend to have their own advantages and also lack certain functionality which would be useful to have. At the end of the day, one needs to settle on a code editor and use the tool to the best of their ability in order to write good quality code consistently.
Free HTML editors
NetBeans IDE
NetBeans IDE took me by surprise as it is a very good IDE to use over and over again.
It’s light weight and work fast, offering very useful functionality of searching with files across the entire project, something that the notorious Dreamweaver was good for, but not worth using just for that.
NetBeans IDE offers syntax highlighting for CSS, PHP, JavaScript and HTML and nicely highlights errors within each language.
It’s my current editor of choice and I would not give it for the world.
NetBeans IDE is developed by Sun in Java and it is a really nice editor which I can envisage using for a very long time to come.
Being free and open source is also a very nice addition to the overall offering.
HTML-Kit
I have been using HTML-Kit for a long time now and it is by no means perfect, but it caters for the usual colour coding needs. It works fine with XHTML, CSS, JavaScript and PHP, which is a frequent mix of technologies I work with.
It also has an integrated FTP client which is nice for direct editing of files on a remote server, which is not an approach you want to take often, unless you are making quick tweaks to the content or simple changes. It works nicely on XP and Vista machines and is pretty fast.
The downside to it is the fact that it can be a bit messy with regards to indenting. It does not look particularly pleasing to the eye and it does not auto-complete code very well at all. It is suitable to those who do not like auto-complete (like me) and want a simple enough tool to do quick, high-quality work in it.
NotePad++
One of the biggest advantages of NotePad++ is that it doesn’t require installation – it runs off one small .exe file.
It is a nice editor, which handles HTML very well, but does not colour all types of code you are likely to work with.
I have also find this one to work slightly unreliably on Windows Vista machines (i.e. throwing up weird errors), which can be annoying.
Aptana
An editor much preferred by many interface developers for its auto-complete feature and the fact that it is a ’sister’ of Eclipse, arguably one of those ‘industry standard’ editors liked by developers at Google and many big consultancies.
Aptana works pretty well on most machines and writing code in it is most of the time pretty nice experience.
It has AJAX library plug-ins which can help develop AJAX code faster. It handles code indentation pretty consistently and nicely and works very well for XHTML, CSS and Javascript.
It disadvantage is that its upgrades can cause constant hassles to developers as sometimes they do not work properly, so for every session you might find yourself having to ‘battle’ with an update that Aptana wants you to install, but it never can be done fully. Very annoying.
Apatana also does not work very well with PHP as it requires another extension for it (or another version of the tool). So it won’t colour PHP code nicely, which is annoying when you are intending to style up a Word Press blog or another system you might have developed using Code Igniter or PHP in general.
Eclipse
I find Eclipse to be a nice tool (sometimes more suitable than Aptana), but it is not one that was designed for HTML (hence it does not offer auto-completion – which can be perceived as an advantage by those who do not like auto-completion like myself).
Eclipse is nice and clean looking and tends to work pretty good. Also does not require installation so it can work nicely in those environments and circumstances where as a developer you do not have a permission to install a tool onto a machine you are developing on.
I have been in this circumstance many times before and Eclipse saved my life.
NotePad
Old, dirty and rudimentary, Notepad’s best feature is that it is featured on all Windows machines and it is simply there.
It can be a good tool for quick analysis of code problems and writing some quick proofs of concepts or testing a particular feature for cross-browser compatibility.
NotePad, of course, does not colour code, which is not usable for working on bigger and more complex projects, but for a long time I developed code using only NotePad and it is a tool which one can rely on to a great extent.
In some cases you will be asked to develop code in environment where you will not only be disallowed from installing tools on the machine you are working on, but also be disallowed from downloading new tools (like Eclipse).
You might find, in this case, that NotePad is the only option you have, hence it does no harm to be familiar with coding in it as well!
Blue Fish
Blue Fish code editor is available for Linux only, so if you are using Ubuntu or a similar Operating System, chances are you will settle onto using Blue Fish on that platform.
Blue Fish is similar to other editors and contains a feature like HTML Kit which allows the editor to be setup to directly edit files on an FTP server.
There’s no integration with SVN as far as I know like there is in Aptana (which is also available on Linux, but a bit tricky to install).
Blue Fish also allows changes to be made to the font faces which are used to display the code in, but you are likely to want to keep these to the most readable font face like in Aptana or HTML Kit.
Blue Fish is responsive and a good code editor and by far the best one I have come across on Ubuntu if you are looking for as close a development experience as on Windows while being on Linux.
VIM
Many people have spoken to me about VIM on Linux and it being a very versatile code editor.
However, I have attempted using VIM many times so far and have failed miserably at it.
The idea that a code editor required heavy training and reading in order for one to start using it really puts me off.
At the end of the day, the point of development is not to be learning to use the editor, but to develop great code.
Other HTML editors
Oxygen
I have heard from a few developers that Oxygen 8 (the last version I heard of) is a nice tool to work with.
It is an advanced tool which only costs $40 and offers nice tools and features for working with XSLT, XML and various transformation languages.
It allows you to create object oriented hierarchies of code and preview them in a usable manner. It also offers some useful transformation and testing features which make XSLT development much faster and more reliable.
XMLSpy
XMLSpy is a very good editor also, but much uglier than Oxygen and it is harder to use Oxygen’s features in it from what I have heard.
It is a nice and strict tool, which imposes development within UTF-8 character encoding and flags up all the XML non-compliance issues up front, forcing developer to be very precise and strict with their coding.
XMLSpy also is not a free tool, but it does not break the bank to buy of copy of it as I think it costs around the same amount as Oxygen.
Written by Jason Grant, BSc, MSc on 2nd June 2008
You might want to have a look at http://e-texteditor.com/, check out the screencast – it looks quite clever.
dave on 3rd JuneI’m on mac so never used it much tho.
There is also NotePad2 which seems to be a nice editor, similar to NotePad++. Does not need an install and it is really light.
flexewebs on 16th Juneyou forgot about the great Komodo Edit (the free one, not the commercial IDE) – it’s got all you need and more and works like a charm.
mf on 4th JulyI think XMLBlueprint XML Editor (http://www.xmlblueprint.com) is very nice. It’s a small XML Editor, not too expensive and i can work with my relax ng schemas and schematrons.
Carla
Carla Huls on 24th JuneCheck out scintilla, or scite. Sorry, can’t remember the URL.
It looks and feels strange at first, but the idea is that you configure it to your liking.
It’s a real programmers’ tool. I use it all the time.
Andrew on 28th JuneThanks Andrew for pointing out Scintilla / Scite. First impressions are bad, but I’m sure there will be a developer or two who will fall in love with this too.
Jason Grant on 28th JuneThe most probable reason for you to have failed learning VIM is not having understood the modal nature of it, which is what it makes it the editor with the best text input method ever. You can find a great introduction to the VIM modal editing and a few excellent tricks to use with VIM in a document called “Why, oh WHY, do those #?@! nutheads use vi?”, you can find here: http://www.viemu.com/a-why-vi-vim.html
Regards,
Angel on 16th OctoberÁngel
Windows:
I was always a fan of WeBuilder. It’s lightweight, fast and supports pretty much any format you can think of.
Since switching to linux, I use Geany. Light, simple, fast and in my opinion, VASTLY superior to bluefish etc.
Scott Sampson on 27th FebruaryThanks for your input Scott. Both editors look very relevant and interesting and are a real nice addition to this list.
Jason Grant on 27th FebruaryJust updated this post to include the all important NetBeans IDE which I am currently using for all my PHP, CSS, JavaScript, XHTML and MySQL development needs. It’s wonderful.
Jason Grant on 27th FebruaryJason, I’ve used the NetBeans IDE, and found it to be quite nice. Certainly ticks most of the boxes when it comes to required features when developing.
I will however, be sticking to either geany or gedit for my developing, but that’s just a matter of personal preference.
It is definitely a nice addition to the list though.
Scott Sampson on 27th February