Exploring PHP IDEs: Sublime Text
On my last post, I discussed my hunt for a PHP IDE, specifically PhpStorm. Development Environments are about as widely varied as there are ways to skin a cat, so I didn’t stop with PhpStorm. The second IDE on the evaluation list is a smaller product known as Sublime Text (or ST2).
As with last time, let’s talk cover the most critical facts about Sublime Text 2, first.
- Company: n/a
- Size: 6 MB download (Windows)
- Cost: $70 (Commercial License)
- Written in: Python
- Launch Time: Sub 1 second
- Wikipedia Article: Kinda Sad
Sublime Text is basically on the total opposite end of the spectrum from PhpStorm, in every way imaginable. ST2 is small, fast, and has very little in the way of built-in “fancy features”. PhpStorm is the stereotypical monolithic IDE whereas ST2 isn’t even a true IDE, it styles itself as “a sophisticated text editor for code, markup and prose”. This means many features you’d expect to have in an IDE, aren’t in ST2 or don’t work as you’d expect (such as autocomplete).
ST2s small, lightweight, unobtrusive way of doing things is quite endearing to me – especially since I’ve never been much of a fan of IDEs. Just because it lacks the “fancy features” out of the box, does not mean ST2 is helpless. The counterbalance is that ST2 has a very rich system of plugins. One of the first “plugins” I found was called Sublime Package Control which allows you to install additional packages (plugins) without even having to leave Sublime Tech 2’s lightweight interface. A quick google found me articles such as Jason Fox’s “10 Crucial Sublime Text 2 Plugins for the PHP Craftsman“, which might include more stuff than I need, but gave me a great jumping off point. In fact, I’ve found enough nifty plugins that I could do an entire post just devoted to ST2 plugins.
At the end of the day, ST2 isn’t quite as scary to start out with (and certainly much less annoying) than PhpStorm. On the flip side, it takes a little more work to get ST2 up to proper IDE status. Being cheaper certainly helps, but I’m leaning towards ST2 because it has obviously been designed as a “hackers” environment. Everything can be done via keyboard (see also: “goto anything” and “Command palette”) and you can tweak it just so. I get annoyed when I need to interrupt my workflow by picking up a mouse (I’m looking at you OSX). Stay tuned, we’ll have a decision soon, I’m sure.