- 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.
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?
Maybe things have changed since then, but I haven't bothered to try it.
It's a pain to have to worry about configurations like this instead of just being able to get work done.
These days I set up a clean workspace and configure it and just make copies instead of creating the new workspaces from Eclipse.
I've heard some advocate a best practice of just using a single workspace and using views and Mylyn to manage context. But there is a point where Eclipse goes over a performance cliff with the number of files and projects and the system is just not usable. That and the ever present possibility of workspace corruption make separate workspaces the way to go for me.
Also: Key bindings suck. I used to be able to get "Home" and "End" work in a sane way on Macs, but not anymore.
Eclipse organizes code by using "projects", which is really just saying "all files and folders in a specific directory". It's much like projects in SublimeText. In Eclipse you can open and close projects within a workspace. So I have like 15 projects within a workspace, but only have a few of them open at any given time.
The only time I use workspaces is for work when I have projects that are required to be a specific name (and I open different branches of that same project), but this is fairly rare for me.
What is the problem with File->Open?
For the repeat search you can edit your key-binds.
It's not just that it doesn't do what you expect, it's that what it does do is disasterous for someone who was expecting redo (because it destroys your forwards edit action tree).
Say I have some code in some directory. I want to edit that code. How do I do that?
The whole mess with workspaces is so confusing, even resetting all settings like your shortcuts! Why would anyone want their shortcuts reset when working on something new?
Also, ctrl+k for find next while every normal UI program uses F3 for that (and some gnome ones settled for ctrl+g): why? Seriously: why?