Eclipse's Background Indexer: I Hate You

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.

This is a companion discussion topic for the original entry at

Hear hear!
I hope you left it to index for the weekend.


Serves you right for doing C++ in eclipse. Jeeebus. The #include thing might have made sense 40 years ago but let's just face it, there is just no good way of dealing with in in an IDE.

Why would you use eclipse in the first place?


Don't take this the wrong way but your machine is slow. The indexer takes about 3 seconds on my C project with a few hundred thousand lines of code and the compile takes about 20 seconds (build all). I'm using an i7 MacBook Pro with an SSD.

Eclipse sucks, period!
Its best features are for Java languages, working with C++/Python/blah blah is slow and clunky. If you want speed, get some real IDE for the languages, or get a better machine.
It's just 80$ for a good SSD

Isn't there an option in a project's properties to configure the builders? Not sure about C++ projects, but in Java you can untick the "Java Builder" option. Pretty sure that would disable the builder.

What do you suggest instead?

Because it usually works well, it's free and it supports both Python and C++.

I tried CDT in 2007 and it crashed more or less immediately after running out of memory during indexing so I ended up in emacs (which should not by any means be disqualified!). I have since left for Java but last I heard the Qt/KDE editor whatever it is called was pretty impressive. Assuming you're not on windows I'd also have a look at In the end though I suspect until C++ gets a proper module system it's just plainly going to suck doing it in an IDE wherever you go.

Eclipse is wonderful and sucks at the same time. BUT, what you should have done is the following:
- Create new VM harddrive image with the desired size.
- Attach GParted .iso as a VM CD/DVD
- Attach existing VM HDD as Disk 1 (/dev/sda in gparted)
- Attach new VM HDD as Disk 2 (/dev/sdb in gparted)
- Copy all partitions from Disk 1 to Disk 2 (Copy, not move), and expand them to fill VM HDD space
- Check the bootable flags if needed.

- Shutdown VM
- Detach GParted .iso
- Detach existing VM HDD from Disk 1
- Attach new VM HDD to Disk 1 (instead of previous Disk 2)
- Boot Disk 1

If something doesn't work, you still have existing VM HDD file. Many combinations of above procedure can result with the same outcome, this is from the top of my head, but is correct.

This is the way I usually enlarge my VM disks, and is a procedure that should be working no matter which VM software and which host OS is being used.

It's a work machine, I can't upgrade it :(

Thanks for the tip!

This is confusing, because nothing you did should have caused anything to change in your workspace. It should have been no different than shutting down and restarting Eclipse normally. I copy and move workspaces all the time, and never saw this problem. What else did you do?

I totally feel your pain. My loathing for Eclipse is at times, unfathomable.

I do lots of C++ development, targeting Linux, so my IDE choices are limited.

Especially if your like me, and have been tainted by years of Visual Studio use.

All that aside, I am using Eclipse Indigo (build 20120216-1857)

You can fix your Ctr-B (Build) issue by removing the assigned hot key for that action.


Scroll down to Build and click Unbind Command.

If you choose to re-define lots of keys (like me so Eclipse "feels" like Visual Studio), be sure to export your key settings to CSV. On multiple occasions Eclipse has completely hosed my settings and I spend the better part of a day re-mapping my keys.

I have found that setting up a new machine and Eclipse for the first time can be a nightmare.

Regardless of your project settings, you may need to set up your "Paths and Symbols" again (Project->C/C++ General->Paths and Symbols). The indexer will need to run at least once so it can build it's index.
Depending on the size of your project, that may have been what you were experiencing.

There is also a way to set up resources Eclipse will use (how much memory to use from the machine, etc) via a configuration file in or near the directory Eclipse lives in.

Good luck!