Sublime Text 2 Review
A great new IDE
"sophisticated text editor for code, html and prose. You'll love the slick user interface and extraordinary features"
Well, I thought, it doesn't hurt to give it a go, and I'm glad I did. Here are my pros and cons so far.
Please bear in mind that most of the cons are comparing Sublime Text 2 to NetBeans, and so may not apply to everyone.
- No code auto formatting. It's one of the main features NetBeans has that I love. Pasting someone else's horribly formatted code into your editor and instantly prettifying it was great. It does have a plugin for this, but not for PHP as far as I can see.
- No PHP validation. Again, I'm probably being spoiled by NetBeans, but I did like it telling me if I had any errors before I viewed the file in the browser.
- Average auto complete. NetBeans used to read all the files in the project, and enable auto complete for each php class, function and css class it could find, which was great. From what I can see, Sublime Text 2 only auto completes the variables in the current page, with no hints available. This does mean more visits to php.net, which is never good on the eyes.
- No navigator. While the mini map is cool, and fairly useful, I liked the navigator in NetBeans better. Having a list of my class methods in alphabetical order (all with private/protected/public indicators) that I can quickly jump to was a very handy feature. Sublime Text 2 does have this sort of, by pressing cmd/ctl R, then you can go through each function available, but they aren't in alphabetical order.
- Some unintuitive UI elements. This last point is made up of two very, very picky points. When you double click in the folders view, it doesn't open the folder; instead, you have to click the small arrow next to the folder. Also, when I highlight a word, then open the replace dialog, I want the word to be automatically placed into the find box.
- It's fast, like really fast. Opening takes a few seconds at most, and adding folders/files and navigating through code is lightning quick. Makes a refreshing change from waiting 15 seconds for NetBeans to open, then another minute for it to scan the curent projects and become usable.
- Project management is very flexible. A project is simply a collection of folders, much like in TextMate, so you can add and remove them at any time. This is great if I want to easily reference some old code; I just add in the folder, do I what I need to do, and remove it once I'm done. However, it would be nice if we could add files as well as folders like TextMate does.
- It has a nice dark colour scheme. I usually code on a white background, and I'd yet to find a colour scheme that'd change my mind. After looking at the Blackboard colour scheme in Sublime Text 2, I'm now converted.
- Find and replace has an option to KEEP the current capitalisation. I don't know if any other programmes have this, but it's a great feature. Basically, if you do a find for "var" to be replaced with "diff_var", you can keep the initial capitalisation, so VAR will become DIFF_VAR, or Var will become Dif_var. This is great if you have a mix of constants, variables and text, and you need all instances of a word changing.
- Distraction free mode. Much like WordPress has, Sublime Text 2 offers a distraction free editing mode. It's a fullscreen mode, but with no menu/sidebars; all the focus is on the code. (It also has a normal fullscreen mode.) This is great if you get distracted easily.
- Easy to tell files apart. When using CodeIgniter, I often find I have various files open, all with the same name, which can be confusing when the tab for that file in my editor only has the filename on it. Sublime Text 2 gets around this by detecting when you've got files with the same name open, and putting the folder it's in next to it.
- Pretty folder view. To counteract the last con above, I'd like to mention the nice effect of the folders and files sliding in as you expand each folder in the project pane. Small, but a very nice touch.
Overall, I've got to say I really like Sublime Text 2, and it's now my go to editor. I've only been using it for a few days, but I feel comfortable using it for my main projects.
I'm willing to overlook the cons (hopefully they'll be added in later as core updates/plugins anyway), and I'll probably pay for the license after a little more playing around with its features.
Has anyone else used it? Do you like it, or still use something over it?
If you're interested, I've also done a write up on my favourite packages!