- Published on
My New IDE: Eclipse PDT
- Authors

- Name
- Kevin van Zonneveld
- @kvz
I've been programming a lot with Quanta which is a lightweight 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 each other. 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.
Eclipse PDT
I tried a lot of different editors. Most lightweight that I tried had features similar to Quanta. I needed something more serious. I heard 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 its 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?
Eclipse supports:
-
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 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.
Knowing:
- 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.
Conclusion
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.
Legacy Comments (10)
These comments were imported from the previous blog system (Disqus).
I\'ve been using the new Zend Studio for Eclipse which as far as I can tell is the same as PDT plus a handful of non-free stuff (that I don\'t even use).
The ONLY thing I don\'t like about it so far is that once I\'ve created a project, if I rename the folder where the project files are located it\'s a pain to tell Eclipse that I just changed the folder name. I have to create a brand new project! :(
Is it the same for you?
@ thinsoldier: Hi, thanks for your comment. Yes that\'s the same over here, haven\'t been able to figure it out yet. I learned that changing project names from within Eclipse is hassle-free way.
Would you recommend me trying zend studio for eclipse?
Nah, don\'t recommend it. I think there\'s a feature comparison table o zend\'s site showing the difference between PDT for Eclipse and Zend Studio for eclipse and I don\'t think there were many differences and Zend Studio for Eclipse cost\'s $$$.
After searching every menu and finding nothing I started pressing every function key and it turns out I can rename the project in the GUI by pressing F2.... and it turns out this actually does rename the directory where the project files are stored :) ... they should really put a move or rename project location menu item somewhere in there.
Do you know of any forum with many PDT users? I\'ve asked about my renaming issue on the official zend forum and got no answer. I\'ve seen a lot of interesting posts there that get no replies.
Comparison with PDT
http://www.zend.com/en/prod...
>> Eclipse PDT eats RAM & CPU for breakfast.
True, but can be managed by keeping projects separate. At first I had set up my entire Apache \"virtual-host-containing\" folder as it\'s own project. What a huge mistake. Separate each site into it\'s own project and then open/close the project as needed. This helped greatly reduce my overall memory usage. Eclipse (Europa), full install, with approximately 6 projects open at any given time is using < 200 MB of RAM. It is much more manageable now.
@ thinsoldier: Cool, thanks for sharing.
@ coopster: Did that, but it still is a monster :)
can you drag/drop text in your eclipse?
I\'ve been searching various forums looking for a way to do it and all I seem to find is the type of conversations that would make sensible, civilized women give up on their software development career. (hardcore keyboard coders completely skipping the subject and deriding the poster for wanting to:
select/left-click/drag/release instead of
select/right-click/left-click/left-click/right-click/left-click. )
@ thinsoldier: I have not missed or found that feature yet ;) sorry.
I\'ve been using PDT for about 3 months now, and I must admit its taken me awhile to get used to it, I love the repository access I would like to see this trac integration though that sounds brilliant!
thinsoldier: speaking of drag / drop text, I\'ve just spent a good three hours trying to find this feature too. The search has been really depressing. I did come across this bug report though: https://bugs.eclipse.org/bu...
Which says it\'s fixed...
And I\'ve just noticed that there\'s a setting in the Preferences->General->Editors->Text editors where you can Enable it... Unfortunately...inevitably... it just ignores it for PHP... :0(
Apart from this... I\'m really impressed by Eclipse, once it\'s set up correctly.