Eclipse CDT is very slow when using auto completion (content assist)

I enjoy playing around with the Crystalspace engine in my spare time but was disappointed when I first tried to use it on my Ubuntu Jaunty system. Eclipse was installed as the primary IDE, along with Eclipse CDT which is also known as the C/C++ Development Tools for Eclipse. Everything appeared to work alright except when it came to using the newly compiled Crystalspace libraries inside of a new project.

One of the best features about modern IDEs is auto completion, or as Eclipse calls it Content Assist. Its job is to monitor what you type and offer you possible functions that you have access to from within the current context. For example, if I had the following declared in my new CS project:

csRef<iPcDefaultCamera> pccamera = CEL_QUERY_PROPCLASS_ENT (player_entity, iPcDefaultCamera);

You would then be able to type pccamera followed by ->. When this is seen by the content assist, it builds a list of possible functions that the pccamera variable has access to call and displays them to you as a pop up listbox.


The image of content assist in action shown above took about 1.5 seconds to appear, now that my system is fixed. However, before I discovered the fix content assist took at least 10-12 seconds to work! If you are having the same issue that I did, you can check out the post that helped me out here, or just follow the directions below which worked on my Ubuntu Jaunty 9.04 system.

From a terminal window:
sudo apt-get install eclipse-cdt sun-java6-jdk
sudo update-java-alternatives -s java-6-sun
sudo -b gedit /etc/jvm

When gedit opens up the /etc/jvm file, insert the following line at the top:

From a terminal window:
sudo -b gedit /etc/eclipse/java_home

When gedit opens up the /etc/eclipse/java_home file, insert the following line at the top:

If you have lots of RAM you can even play around with adjusting the heap size available to Eclipse. I’d suggest you read the original article here which talks more about it.

© 2021 All logos and trademarks are copyright their respective companies.