Eclipse is definitely the best complete IDE I’ve ever used.
It still lacks a few key features, such as macroing (particularly quick macro recording). The inability to alt-select rectangular blocks of text is something I miss from other fully featured text editors.
For all of Eclipse’s strengths it still clings to the old fashioned idea of file based code organization. It does offer some pretty functional class, package, and heirarchy views. However you still end up dealing with individual files, particular during editing. Code folding aleviates this somewhat, but I find it a bit clumsy. What I’d like is a truly abstracted editor, where things like classes, methods, members, blocks, loops, conditionals, etc… really are first-class primitives in the IDE. I don’t care if it still needs to generate files on the backend to maintain compatibility with all the great compilers and tools out there. I personally don’t want to think in terms of files any more. Of course, this approach offers challenges by conflicting with the source control systems with which I am familiar.