I've been programming a lot with Quanta which is a leightweight kdevelop based IDE. It did the trick for quite some time, but recent developments in my coding life like SVN brought me on a Quest for my new ultimate PHP IDE.
A New Editor
Obviously a new editor takes some getting used to. You got to get to know eachother. You need to be open minded about it, not fear the change, and don't get discouraged if you aren't that productive in this first phase.
I tried a lot of different editors. Most lightweight that I tried had features similar to Quanta. I needed something more serious. I heared TextMate was awesome, but buying a Mac… There had to be an easier way ; )
And so on my quest, I stumbled upon Eclipse PDT (PHP Development Tools). Eclipse has been around for a long time and is used mostly by Java developers.
But now there is the PDT flavor. It's a plugin (they call it a 'perspective') that focuses the raw power of Eclipse on PHP. Thus reducing a lot of clutter in the interface, and bringing a lot of dedicated PHP features.
What I Liked at First Sight
Though Eclipse and I had a rough start, I did see a glimpse of it's strong points. The fact that it was:
- Open source - Actively maintained by a large community - Being used by a lot of professional Java developers - Cross platform (nicely integrates with Ubuntu in my case)
.. made sure that I was willing to give this IDE a serious shot.
What I Like
Now, after a month of coding I can say I've indeed increased my productivity a lot, and I'm really starting to like this IDE for making my life easier. Every day. Why?
- All platforms (windows, linux, mac) - Great defaults
Yet properties are extensively customizable and can be saved per project
- SVN Integration - Trac Integration (!) - PHPDoc comment blocks - Jump to function declarations - Moving around entire blocks of code with only ALT + cursors - Customizable templates with intelligent markers for variables - Advanced code completion & indentation - Integrated PHP manual (begins with tooltip, F2 for extended info) - Intelligent expanding / collapsing of code - Easy creation of plugins, thus:
Loads of freely available plugins ranging from code management & syntax highlighting of exotic languages
In short, I make less hand movement, but produce more & better code ; )
What I Dislike
Setting It Up Can Be a Pain
More specifically, installing was as easy.
Download the PDT All-In-One package and extract it.
There, you've successfully installed Eclipse.
But then if you want Bash & SVN support for example, things tend to explode in your face and leave you heavily mutilated behind your keyboard.
The Feature Updates
The idea of their integrated package management system for updating & installing new components is great.
It allows you to add extra (third party) mirrors and then install & update (third party) components automatically.
But you really have to know the ins & outs if you don't want to stumble on a load of errors, mirrors that are down, strange dependency resolving issues, etc. These are errors that might pop up after half an hour of downloading, and will make you start all over again.
- Exactly what mirrors to add - What packages to click on - How to select their dependencies - Which automatically selected dependencies to explicitly deselect (?!)
..will make all the difference. But you won't know until you've tried. If people show an interest I might try to write my experiences down in another article one day.
Eclipse PDT Eats RAM & CPU for Breakfast.
Don't try running Eclipse on anything less than a recent Intel Core 2 Duo with 2GB ram. Trust me. I did.
Especially when working on large projects and enabling lots of components like: SVN, HTML Tidy, syntax validation, etc. you need a fast workstation or all of the delays will frustrate you.
After installing it 5 times (also on different systems in my case) you get to know the ins & outs of the Feature Updates system. It's a bit of a minefield.
But hey, the hours you spend on tweaking your IDE to sheer perfection, pay off the moment you start coding with it.
Here in the Netherlands we have a saying: Good tools cut work in half. Freely translated, that is. And that's exactly what Eclipse PDT has done for me.