Should I learn Eclipse, Xcode, or...something else?

I'm trying to find some time to setup a development environment locally again, and I want to invest in learning an IDE. Most of the folks I know use something like emacs or TextMate to code, but I'd love a little more of an environment. Also, I'm still trying to find more bits and pieces that together form a set of best practices for developing, deploying, and maintaining Drupal.

Initially I was thinking about learning Eclipse, except I've heard that it's PHP support isn't the greatest. Looks like the PHP IDE isn't going to be 1.0 until June 2007. But then again, IBM's Drupal tutorial also explained using Eclipse.

Xcode is Apple's own tool, and there are some guides on using it for PHP.

Then there's Komodo, made by Vancouver's very own ActiveState

I want to learn an IDE that has support for multiple languages, so editors purely focused on PHP are out. 

Integration directly with CVS / SVN is a nice to have. svnX works for me as a GUI.

Aside: I was using SubEthaEdit as my text editor / quick notes entry until recently (using Spotlight and / or pasting into an online wiki later). Now it's no longer free at all, and I don't use the group editing feature enough to make it worthwhile. Enter Smultron -- it even has a nice one-window view, which is much better than the 10 text documents I used to have floating around. 

Comments

What else: vim of course ...

Of course the obvious answer is vim with xdebug allows you to debug with ease.

Seriously, I only expect this to appeal for the vanishing breed of command line/text based folk ...

For the GUI inclined, I highly recommend Komodo. Not sure how good it is on the Mac, but there is a version for it.

And yes, they are Canadian and in your neck of the woods.

EasyEclipse

If you want to work with Eclipse try the PHP-Package of EasyEclipse. http://easyeclipse.org It's a full featured PHP IDE based on Eclipse. It's stable and works well on MacOS 10.
Meinolf

Choose one that fits, get kick ass at it.

When I was on Windows I used UltraEdit. I'm still looking for UltraEdit for OS X. Now I use SubEthaEdit (yes I paid for it). I find myself dropping in and out of SubEtha everyday.

I use it as my scratch pad, editing php, random notes, etc. Your post reminded me of a chapter 16 in The Pragmatic Programmer, Power Editing. It says choose one editor and get damn good at it.

From personal experience finding an IDE that matched me has been a pain for OS X. I kept looking for something that rates to Ultraedit (still looking). I've used TextMate, TextWrangler, Komodo, JEdit and probably a few others.

Eventually I settled on SubEthaEdit because it works for me. I can navigate through PHP pretty fast. To take it to the next step I would like to learn some Apple script to make it do stuff.

When I'm hacking through drupal code I usually drop in and out of the shell a lot to run stuff like: find ./ -name '*.php' | xargs grep 'something' to see where something has been called. That's me however.

Um... I guess, find something suitable for what you do and get kick ass at it. If SubEthaEdit works for you, pay for it. The other editor I like is Komodo. The features it in are great. However, I found it a little too fat to drop in and out of to use as my general editor.

---
MostlyGeek

+1 Komodo

The best IDE I've ever seen was Borland's Jbuilder for Java. There's nothing like that for PHP, unfortunately. After trying out as many IDEs as I could get my hands on, I eventually settled for Komodo. It does tend to lock up on me now and again, but not often. It's straightforward, supports CVS, SVN, licensing that lets you run it on multiple machines (single user), code completion, and built in debugger (never used the remote debugger that's available). The support for PHP definitely isn't as strong as its support for Perl and Python (yet?). And it comes with a very cool regex toolkit. 

My experience

At work (a non-Drupal shop for the most part, sadly), we use Zend Studio. It's non-free in every meaning of the word (and a bit expensive), but is hands-down THE best PHP IDE I've ever used. It is PHP-specific, though (or rather web-specific, as it can also do a few other web languages like HTML, CSS, Javascript, and SQL, but not Perl), so that may rule it out for you.

At home, I tend to use either KATE (KDE Advanced Text Editor, part of KDE for Linux) or Eclipse with the beta PHP-Eclipse plugins. Eclipse is, unfortunately, dog-slow, a horribly leaky memory hog, and its PHP support is still mediocre. I do tend to use it at home for my Drupal work, though. I've also tried Zend's future-IDE, PHP-IDE, and it's still lame. It's basically trying to make Eclipse look like Zend Studio, but doesn't yet have any of the nice functionality that makes ZDE worth using (code assistance/auto-complete, good highlighting, context-sensitive help). Maybe in a year it will be worth using, but I deleted it after an hour.

Hope that helps. :-)

emacs

i mean, really. you kids and your new-fangled IDE's. real developers use emacs. ;)

TextMate

Textmate can be an environment. Its bundles can add to the UI and run various scripts (PHP, Ruby, shell, ...). It can even output nicely formatted HTML through WebKit in popups and such. With the SVN bundle, you can update, commit, log and diff right from TextMate. And unlike vi or emacs, it actually has a nice, consistent Aqua UI.

Even if you don't want to hack it yourself, tons of cool bundles and scripts are out there. Although with the bundle editor, editing snippets and macros is really easy. And the project drawer is great to keep all related stuff together ;).

</ad> 

PS: TinyMCE doesn't work in Safari. Had to switch to Firefox just to post :P. 

komodo4life

really, komodo is far and away the best ide out there, the only problem was last i checked it was still pretty damn slow on os x, so bug jeff and david and shane

then again, I'm a vim boy, so that's how that goes. I find anything that uses escape for auto-complete a bit uncomfortable.

but if i had to use an ide, komodo is the only one what could get on my list.

don't do much dev anymore these days

On OS X I use TextWrangler for text files and Eclipse for Java/Python/etc.

A lot of the rest of the time I do quick fixes in vi. As I said though - I don't really do development any more.

E/.