Not to mention you write "obj." and can instantly see all the methods available with arguments.
Also if you add say an interface or inherit a new object it will immediately throw an error if required methods are not implemented. You then just hit ctrl+1 and enter and it will automatically add all the boilerplate functions you need to comply with the new interface.
It's a must for statically compiled, boilerplate filled languages like Java and C#. That said, if intellij is more polished for a niche and has a better UI I'll switch away from Eclipse in a heartbeat.
If you're not working with a dynamically typed language or markup language though then an IDE can really add a significant boost to productivity by eliminating all the repetition and actually making the strict static typing work for you.
Eclipse could learn a lot from Xcode on how to do autocomplete well. I haven't spent enough time thinking about each to articulate a list of differences, but overall Xcode's implementation feels much faster, more responsive, and more intelligent - in terms of both when and what to show. It's the same "feature" in both IDEs, but in Eclipse it feels like I'm fighting against it much more often than in Xcode.
Why can't eclipse do that?
- Change class name and every other java file which uses that class will also update correctly.
- Show errors when a dependency is missing.
-Change type of a method in one class and every error caused by that change, in every file is immediately highlighted.
-Right click on a method and ask eclipse to show you every method which calls that method...recursively.
-...and so on
You CAN just open a java file without creating a project, but then you don't get much more than syntax highlighting or formatting help.