In the same vain, I did try to learn the ins-outs of vscode and I wasn't impressed after a few months. It has about the 1/16 of the capabilities of Eclipse, and things are very broken pretty much 100% of the time, or it'll suddenly break when something auto updates. It's also, just obnoxious to use: popups, distractions that never go away, settings are in a schema-less json, and a completely incoherent user experience when you do something as minor as switch plugins. Compare that to regular ol' Eclipse, which presents a unified editing interface for every language and file type.
I used IntelliJ for a brief stint and I would say it's very polished and a lot of small annoyances with Eclipse it doesn't have, and it exceeds Eclipse in several areas, but not to the point where I would go relearn an entire tool. So yeah... I'll probably just stick with Eclipse until I can't anymore!
I don't particularly like VSCode, but your criticisms are simply not true (anymore). It has GUI settings, it is pretty stable and you can make things go away.
That’s… extremely far from my experience with VSCode, are you sure you’re even talking about VSCode?
I’ve literally never had anything break after an update, not even a plugin. Not saying it doesn’t happen, because it definitely does (every version is followed by 1 or 2 patches in the following days), but it’s usually about pretty niche breakages.
All popups and toasters have a cog wheel on the top right that let you tell them to never show up, if you wish. And to be fair, there are very few, the only ones that come to mind are "oh I know this file type; do you want to install the appropriate extension?", which is honestly a welcome hint (that you can disable globally if you don’t like it).
What you call "distractions that never go away" I’m not sure, because almost everything in the UI can be hidden. What do you think count as a distraction?
Regarding the settings, it’s plain wrong. The settings have had a visual editing interface for years, and the underlying JSON is definitely typed. If you add a key that doesn’t exist, it’ll be greyed out. Invalid values have a red squiggle.
I have no idea what you mean with "incoherent user experience depending on plugins", specifically because the extension API doesn’t let extensions do incoherent stuff.
We have a build for a giant xyz customer system. Every part of the codebase is modern; it has thousands of JUnit5 test cases, 26+ modules. We've set the build up "correctly": following Maven best practices and it turns out, when you follow them, things are really quick with builds just under a few minutes.
Eclipse does an amazing just handling a project this size. It also is able to do things VsCode simply cannot do. We had a enum we needed to move from a submodule to a a global one. Eclipse found all of the references, including ones in our documentation, strings, test cases, and even prop files for runtime config, and refactored the whole thing in a few clicks. We've had the same experience with IntelliJ actually too, where the tools are even more refined.
Eclipse/IntelliJ are on a different plane. VsCode does have it's merits, but it's not really a full blown IDE.
The level of code refactoring tools available in IDEA dwarf anything vscode has been able to come up with, and I don't see that changing. And it's not just for Java (although it gets the best tooling), they're the best for every language that has any popularity at all. Including TypeScript, where IDEA has a significantly better performing lsp features than vscode.
For example, it automatically finds copypasted code (including cases where variable names and code structure might differ) and can automatically extract a single implementation and generalize it for you with a single key press. If you have multiple classes with similar interfaces, it can extract the common bits into an interface and update the classes to become its implementations. It can shuffle types and methods around for you, automatically updating references (which you've mentioned). Autocompletion for absolutely everything, including difficult cases like e.g. SQL inside a Rust snippet inside Markdown. And much more.
I do.
It was used as the basis for code-sourcery, which was the foundation for many a vendors embedded toolkit.
More recently, I used it for ESP development, and I was absolutely floored that Eclipse is, in 2024, a lightweight and featureful alternative to VSCode.
My prior memories of Eclipse was that, once started, it would slow my machine to a crawl. Now it runs lighter than the most popular "modern" editors; after doing the ESP project, I noticed just how laggy VSCode is.
It could do with a few plugins, though. Copilot, and things like that.
TIL :-)
Eclipse is basically a language-neutral UI "shell", the "Eclipse Tool Platform", where all language/code-related functionality is provided as bundles of extensions. And then extensions can be extended, and so on.
Eventually they standardized the extension system around an extension/component framework called OSGi. Not sure if this new Eclipse IDE uses it.
I will repeat my usual complaint: I wish the Eclipse Foundation would invest more into making the IDE better, and I wish they would make it easier for people to contribute to it.
I am pretty sure the free Community Edition is still much better than Eclipse.
I’ve also tried to use their products but by the time I need to, my 30-day has already expired so I just stick with Eclipse and VSCode.
That, an incremental Java compiler that isn't just using the one from Eclipse, not indexing every couple of minutes, and no 10 finger chord shortcuts.
Please prove the audience how to do JNI in InteliJ, without an additional Clion license.
Not a lame plugin, rather the same experience as Eclipse, Netbeans, or the one that Google has paid for on Android Studio.
This isn't something I hear everyday. Care to explain?
Then again, it's all probably relative - most IDEs (including the likes of Visual Studio) are slow compared to something like Lazarus, VS Code can feel slow compared to Sublime or Vim but whether that matters much is up to the reader. Personally, I like the features that JetBrains tools have, and those are more or less my daily drivers (I pay for the Ultimate package of all tools, alongside GitKraken, MobaXTerm and some other software), others might differ in that aspect.
That said, I don't think that JetBrains Fleet is quite as good as VS Code yet, so I use VSC for my more lightweight editing needs or on lower spec devices, sometimes also dropping down to Notepad++/Gedit or Nano for simple text/config files as well.
Eclipse was the effort that made it decent, and it took a long time before we had IDEs that were competitive for some languages. I remember the php extension being surprisingly good.
So I'm back to Eclipse, and will probably check out Theia as well. Hopefully they add Go support if it isn't already there.
But that was Java eclipse. And I kinda hate everything related to Java.
Yes, it seems overwhelming and there is the 'workspace' concept which seems too much abstraction. It's only in the way if you are too attached to your own way of working. If you just begin coding, it actually is quite intuitive.
The thing I hated most was the workspace concept. I don't want to put all my projects in one directory or have to make a workspace just to open a project. In every other IDE you can just open a project without weird and confusing restrictions.
It also crashed quite a lot - not fully, you just get a dialog box saying there was a null pointer exception.
Also every app I've used that has been based on Eclipse has been awful. Teamcenter was probably the worst. So slow you could literally watch it drawing widgets.
The one positive I will say is that there's a state machine plugin that's really good, and it uses the Eclipse Layout Kernel which is so good at layout out diagrams that it's been ripped out of Eclipse and even converted to JavaScript.