Eclipse 2024-03 is out. Like most Eclipse releases there’s not much interesting in the release notes - and that’s fine, because Eclipse is already a fairly solid IDE.

That’s…. actually a controversial opinion in the Java community, but I stand by it. The text editor is good enough - IntelliJ’s has the best editor, but Eclipse does well enough, especially with a couple tweaks to the auto-complete settings (see below), and the non-blocking completion added a while back. But it’s everything surrounding the editor that sells it for me. Probably the best thing is just how fast everything is - Eclipse is crammed with features without detriment to performance, it even runs really well on shit craptops where IntelliJ is basically unusable. Eclipse builds projects instantly and keeps them automatically built so your code is always ready to run. The Maven integration is excellent, it rarely actually runs Maven unless you explicitly ask it to as it manages that stuff by itself, which helps contribute to the speed. The Git tools are pretty good - good enough that an entire standalone IDE based on them exists. And other minor stuff, like unpinned windows actually working, and automatic hot reloading working out of the box - no need to dive into internal settings. I like Eclipse. It works for me.

It’s not perfect, the dark mode kind of sucks (especially for anything that’s not the code editor, dialogs can look really ugly, some plugins aren’t fully compatible with it), the macOS interface is a little bit jank and the Linux interface uses GTK+ which I could probably write an entire rant .plan for on its own. (KDE Plasma’s Breeze theme makes it more than bearable though). But depsite any of its issues I find it overall a nicer experience than alternatives.

While I’m talking about it, my Eclipse set up is the Java EE IDE with the following plugins:

  • Debug Perspective Auto Closer. Seriously, why isn’t this a native Eclipse feature yet? When you’re debugging an application and pause it or hit a breakpoint or whatever, Eclipse will automatically switch to the Debug perspective. But once you’re done debugging, it doesn’t automatically switch back. Even though it’s a single click to do so, it is very very nice to have this automatically.
  • Notepad4e. Don’t often use it, but it’s nice to have.
  • Eclipse Memory Analyzer. Very useful for inspecting JVM heap dumps.
  • WindowBuilder. It’s a bit jank and old (still doesn’t generate lambdas!) but it makes Swing a bit less painful in the rare times I do Java GUI programming.
  • Eclipse Shaders. Utterly archaic plugin, but I work with shaders a lot, and it makes GLSL a bit prettier. Well, it doesn’t support dark mode, so I can’t really use it at night. As I said, archaic.
  • MercurialEclipse. I don’t use hg for personal projects and if I did I’d rather use TortoiseHg as a GUI, but I’m always planning to return to hg… one day…

Plus auto-complete settings that I find essential (Java > Editor > Content Assist):

  • Auto activation triggers for Java: .ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
    Basically essential, as it makes auto-complete in every situation, not just when you type a period. Very helpful for completing type names and method names without an explicit object.
  • Disable insertion triggers except ‘Enter’: on
    Without this, Eclipse will insert completion suggestions whenever you do basically anything, which is annoying in the situations where you don’t want to immediately accept the suggestion, such as moving the text cursor.
  • Fill method arguments and show guessed arguments: Insert parameter names.
    Eclipse’s guesses aren’t very good. The parameter names are much more useful.

Half of this post might actually be better placed on my /uses page, actually…