Eclipse's Background Indexer: I Hate You

This post is a few years old now, so some details (or my opinions) might be out of date.
I would still love to hear your feedback in the comments below. Enjoy!

Today at work I had to format my VM drive (so I could extend the partition to an amazing 40GB). That’s where all my code, and my Eclipse workspace is stored. Regarding the code, it was quite easy - go through all my Mercurial repos, commit everything (on a feature branch, of course), push, and delete the repo. The Eclipse workspace can’t be handled so easily, so I backed it up, formatted my hard drive and restored it. I recloned my Mercurial repos and I was ready to go. However, from the moment I opened Eclipse back on, it was slow. I’m not talking about your regular bloated-IDE slow— I’m talking full-blown window-barely-responding-to-my-clicking-and-typing feeling-like-Helen-Keller hell. That’s… you know… quite a big part of programming. So I spent the better part of my day searching online for solutions, like replacing my JVM; switching workspaces and configuring everything from scratch; disabling and enabling different plugins; deleting Eclipse’s metadata, etc.

It was only then that I saw it. That haunting, terrible little message at the bottom-right corner of my screen. Indexing (C++) 0%. Well, I know the title was a spoiler, but here goes: Eclipse’s background indexer sucks. You know what, Eclipse? It’s fine that you need to index my code. I get it. But let’s face it - if I find myself not being able to work on account of a “background” process, it’s not really working in the background, is it now? Just admit you can’t do it and let me either wait, knowingly, for you to finish, or cancel the indexing all together. Better yet, let me “snooze” the indexing to a later time (say, when I’m home).

While we’re on the subject of Eclipse’s “background” activities, I think it’s time to say - pressing Ctrl+B by accident is one of the worst things that happen to me during the day. It sets up a “building project” window that simply ignores any attempts by me to cancel it. I’m working on a big project and I don’t use Eclipse to build it, but Eclipse’s default builder doesn’t take no for an answer. And yeah, I know - I can rebind the key for the build - but I do need it for other projects. It’s find that the build message come up - but why can’t I cancel it like expected? Why does it take 2-3 minutes for it to respond to my request?

Okay, okay. I vented a little and I feel better now. You’re not mad, Eclipse… right? You know good couples fight from time to time?

I’m so sleeping on the couch tonight.

Discuss this post at the comment section below.
Follow me on Twitter and Facebook