Everyone has their favourite coding editor and as this topic has just come up on the Zend mailing list and comes up regularly on the Sitepoint forums, I thought I’d list the editors I use.
For my main heavy lifting, I use Zend Studio. In my opinion, nothing can touch it’s autocomplete functionality. I especially like the way that it uses phpdoc’s @return construct for autocomplete on class objects that are returned from functions. Obviously, it has all the other features you’d expect like projects, syntax highlighting, find-in-files, code folding, etc. It also strips trailing spaces on save which I like. As it’s an IDE, it also comes with debugging capabilties. The debugger is fairly powerful and most importantly worked straight out of the box for me. Not that I use it often – last time was trying to work out how ADOdb’s schema code worked! It’s also cross platform and has basic Subversion and CVS support.
There are only two major gripes that I have with Zend Studio: performance and single instance. It’s a Java application and hence can be slow to respond for no apparent reason. I have no idea why Java apps are like this, but the most obvious case is restoring when the app has been minimised for 10 minutes. This is really really frustrating! The other issue I have is that you can only have one copy of Zend Studio open at any one time. Sometimes, I’d like to have two separate instances open with different projects in them, but I can’t find a way to do this.
Enter UltraEdit. I use UltraEdit for when I need another project open at the same time as my main project in Zend Studio. UltraEdit is a really powerful text editor for Windows and I can’t think of anything it can’t do (except PHP autocompletion!). It also supports grouping of files into projects and you also get syntax highlighting, code folding, find-in-files, strip trailing spaces on save etc. And it’s quick! It even supports ctags so once you have your ctags file created, you can jump straight to the function under the cursor. Very useful, but not autocompletion :) IDM, also make UltraStudio that has PHP autocompletion, but I’ve not used it so can’t comment on if it’s any good. It’s a shame it’s not cross platform.
My other editor is Vim! Vim is my “get things done” editor. I use it for just about all my other editing needs when I’m not doing major coding. I’m not sure that I need to say anything about Vim other than once you have learnt the interface, there’s not a lot it can’t do!
So there you have it, a short précis on why I use the editors I do.