Eclipse Killer Features:
- Search across entire workspace for selected text with CTRL+ALT+G. It's the fastest interface I've used for selected text, it organizes the search results, highlights all items, and shows pretty markers in the margin. (see below.)
- Pretty markers to show search items, compile errors/warnings, modified text, bookmarks, etc.
- Code completion with CTRL+SPACE. It is pretty.
- Automatic variable renaming with ALT+SHIFT+R. It's faster and more reliable than search and replace.
- Good keyboard support. "Quick Access" is a very nice addition in Eclipse 3.3. Hit CTRL+3 and then type the name of any Eclipse command. (See Quick Access (Ctrl+3) is bliss! for more info.) To open a file, hit CTRL+SHIFT+R and type in the name of the file. The dialog provides filename completion. Fast.
- Good integration with SVN using Subclipse: allows me to compare revisions, view the repository history, open an old revision next to my working copy, and take a glance at pretty file icons to tell me the state of files. (This no longer applies since I switched to Mercurial.)
- Put views almost anywhere you want (docked, detached, fast view). Switch between editors with CTRL+F6, switch between views with CTRL+F7, and switch between perspectives with CTRL+F7.
- Can't open a file from the command line.
- It is slow. In this article, Stevey Yegge even wrote a Eclipse haiku about it:
startApplication()It's a great article, btw.
- All the extra decorations take up a lot of screen real estate. (Can't completely customize everything. E.g. can't get rid of the scroll bars.)
- No macros. (This is what Emacs is all about.)
- No (good) Mercurial plugin.
Eclipse vs. Emacs conclusion: Sticking with Eclipse for now because it is prettier (and because I know how to use it.)
- Colorized, interactive "git blame" in Emacs: vc-annotate — posted 2011-05-28
- My Emacs Python environment — posted 2010-05-10
- Emacs espresso-mode for jQuery — posted 2010-03-10
- Notes on C++ development with Emacs on Ubuntu Linux — posted 2009-07-08
- Creating remote server nicknames with .ssh/config — posted 2008-11-20
- Emacs notes — posted 2008-11-03
it has no macros, but it is now scriptable via eclipse monkey ... which may (or may not) cut it down to 4 annoyances :)