I’m always on a quest to find that one perfect editor, I’ve been hunting for it for many years. Having been an UltraEdit, Notepad++, Eclipse, Aptana and Komoddo user in the past, they all had their pro’s and cons. Eclipse and Aptana (built on Eclipse) were very feature rich (and very slow!). UltraEdit and Notepad++ were quick but didn’t quite fulfil what I was looking for in an editor (maybe that has changed in newer versions). Komoddo I was very impressed with, but it had a few bugs that just became annoying after a while (like tabbing code blocks). None of them were quite right.
There are a few key features I look for in an editor. They are:
- Speed: It needs to be responsive and quick to load. There is nothing more frustrating than an editor that freezes all the time and takes 5 minutes to load.
- Regular updates: If there is a bug it’s nice to know it will be fixed soon(ish).
- Plugins: It may not be possible for an editor to have everything you need in the core, so a good plug-in interface is essential.
- Community: The author may not be on hand to answer all questions so having a helpful community is a plus.
Thankfully, Sublime meets all of these criteria. Development builds are released every week or so and there is a vibrant community on hand to answer any questions. As I’m in a list making mood, here’s a few plug-ins I’d encourage any Front-end Developer install:
- Package Control: Before you do anything, install this plug-in! It makes installing all other plug-ins a breeze.
- SublimeCodeIntel: An excellent code auto-complete plug-in that’s been ported from Komoddo.
- Zen Coding: If you haven’t heard of Zen Coding take a look at my previous blog post. You will wonder how you ever survived without it.
- SFTP: Making changes and uploading them directly from the editor can be a godsend at times, but use with caution! Paid plug-in but you get a free trial.
A few of the key features to look out for when you try it are the full screen and distraction free mode, multi columned editor (see image above), multiple cursors (this one I love!), code mini-map and the command palette. Those are just a few I’ve noted but I’m discovering more every day. Checkout this informative post by Nettuts+ for more awesome features.
Now it’s not perfect, there are a cons. Automatic tag closing isn’t working for me at the moment and the project panel needs a little work (being able to drag and drop files would be nice), but the pros far outweigh the cons, so I’m willing to overlook them. If you have a suggestion or find a bug the place to report them is here. As you can see there are lots of feature requests already and the author actually implements (some) of them!
Big thank you to the author Jon Skinner, a fellow Sydney resident for developing such an excellent editor! Download it here.