Before that, for doing vanilla maven + Java projects Eclipse was awesome and generally running circles around intellij in terms of performance, which is still something that is off by order of magnitudes in Intellij and something I miss a lot.
Intellij users are always surprised when I bring that up and say it is fine on their machine. And then I point out that 5-20 seconds to run a unit test after a 1 letter code change is obscenely slow compared to Eclipse because it finishes incremental compilation a few ms after you lift your finger and is ready to run your test. Intellij attempted to integrate the Eclipse incremental compiler but it is not used by default and generally not that well integrated. Their compilation strategy depends on a lot of caching, which is hard and frequently gets in an inconsistent state (i.e. your IDE lies to you about things compiling or not compiling), which is why people routinely rebuild their whole project, or worse invalidate caches and restart (a top level menu option because it needs to be).
I just can't live without a core thing like this missing, and compounded with a number of other things that Eclipse does better, I stay on Eclipse. Unfortunately many younger developers think IntelliJ is all there is.
Given that performance is a recurring topic in the Intellij release notes I conclude that they know they still have issues there and they are slowly looking for ways to make things faster. This is not a solved problem.
Part of this is the Kotlin compiler; part of this is indexing; part of this is simply caching logic.
I recently worked on the Elasticsearch code base in intellij. Fast is not a word I would use to describe that. It's a big code base and it clearly was struggling with it. I know some Elastic developers that still use Eclipse basically for this reason.
I almost never close a project and I never open a project. It's just all there. If I need to use or modify a piece of code, written by me or someone else, it's all accessible to me at all times with a single keystroke.
No project switching. Close to no context switching. IntelliJ doesn't even come close to this kind of power.
When I use IntelliJ I feel like I'm using a nice tool with a lot of sweet superficial features but lacking the comprehensiveness and the underlying grunt of Eclipse. It's like driving a Maserati (IntelliJ) vs a SUV (Eclipse). Yeah, I can drive around town pretty quick in a Maserati but for getting real heavy duty work done, it's an SUV every time.
Try creating an empty project in IntelliJ and then add each of your Eclipse projects as a module to the IntelliJ empty project.
Doesn't mean IntelliJ is bad, it's just a bit limited in that regard.
My dozens of projects are not a single project with "modules". I have a universe of code in multitudes of interrelated projects, closed source and open source. I want to refactor openly, not having to care how I'm moving code between projects. Eclipse works perfectly for this. IntelliJ does not.
Import each one individually as a new module in a root project, and everything will be hunky dory.
A "module" in this case is just an atomic closure of some sort.
I've got plenty of Intellij projects with >50 modules, each of which are their own git repository, just fine.
There are no islands. There's now switching between anything. It's just all my code and dependencies, always open and accessible and instantly available.
Creating a new project in Eclipse then requires no importing of modules on my part, I just create a new project, it's in my workspace and voila—it's now an integral part of my universe of code.
This does not match my experience at all, fwiw. I keep all manner of projects open simultaneously.
I guess that pushed them to improve ;)
As I said in a parent, I'm very certain the competition from IntelliJ got them off their asses :).
Eclipse workspace = IntelliJ project