ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

bumping on an old question, but... I've been using Eclipse to code in ROS for about 2 years now. I like code completion, tooltips, and occasionally debugging in a GUI. Overall it works OK.

BUT:

  • it's way too slow.
    • Building is about 3 times slower than in the terminal
    • the indexer frequently takes minutes to complete, meanwhile slowing down the GUI
    • the GUI sometimes becomes unresponsive for no apparent reasons
  • it does not understand relation between packages, so if I have packages A and B, B depending on A, both open in the workspace as separate projects, if I make a change in A/a.h, and Ctrl+B (build all projects in the workspace), then it won't recompile files in B that depend on A/a.h ... I have to be aware of it and manually force recompilation of those files, either by clean and build which is slow, or touch the files and build which is tedious. I guess I could manually add inter projects dependencies but then that's going to be tedious to manage manually...
  • I am using ccache to speed up compilation and I am very happy with it. I have /usr/local/bin/gcc (and g++ and others), as symlinks to ccache. But for some reason eclipse does not use it. I don't know what it's using and it's scary. I suppose it's using /usr/bin/gcc but who knows
  • the indexer occasionally cannot find some objects (variables, methods, etc.). Sometimes even if it's within one single project.
  • I had to allow eclipse to use 8GB of memory in eclipse.ini so that the indexer wouldn't freeze the whole GUI. I can afford it but that seems ridiculous. I also tried using oracle's JRE but I didn't notice any improvement in term of memory management or speed.

Reading about previous answers, I guess I'll give QtCreator a try.

bumping on an old question, but... but I needed to ramble about it...

I've been using Eclipse to code in ROS for about 2 years now. I like code completion, tooltips, and occasionally debugging in a GUI. Overall it works OK.

BUT:

  • it's way too slow.
    • Building is about 3 times slower than in the terminal
    • the indexer frequently takes minutes to complete, meanwhile slowing down the GUI
    • the GUI sometimes becomes unresponsive for no apparent reasons
  • it does not understand relation between packages, so if I have packages A and B, B depending on A, both open in the workspace as separate projects, if I make a change in A/a.h, and Ctrl+B (build all projects in the workspace), then it won't recompile files in B that depend on A/a.h ... I have to be aware of it and manually force recompilation of those files, either by clean and build which is slow, or touch the files and build which is tedious. I guess I could manually add inter projects dependencies but then that's going to be tedious to manage manually...
  • I am using ccache to speed up compilation and I am very happy with it. I have /usr/local/bin/gcc (and g++ and others), as symlinks to ccache. But for some reason eclipse does not use it. I don't know what it's using and it's scary. I suppose it's using /usr/bin/gcc but who knows
  • the indexer occasionally cannot find some objects (variables, methods, etc.). Sometimes even if it's within one single project.
  • I had to allow eclipse to use 8GB of memory in eclipse.ini so that the indexer wouldn't freeze the whole GUI. I can afford it but that seems ridiculous. I also tried using oracle's JRE but I didn't notice any improvement in term of memory management or speed.
  • some build errors (in particular linker errors) are not always reported properly

Reading about previous answers, I guess I'll give QtCreator a try.

try.

Feeling better already, had to let some steam out... ;)

bumping on an old question, but I needed to ramble about it...

I've been using Eclipse to code in ROS for about 2 years now. I like code completion, tooltips, and occasionally debugging in a GUI. Overall it works OK.

BUT:

  • it's way too slow.
    • Building is about 3 times slower than in the terminal
    • the indexer frequently takes minutes to complete, meanwhile slowing down the GUI
    • the GUI sometimes becomes unresponsive for no apparent reasons
  • it does not understand relation between packages, so if I have packages A and B, B depending on A, both open in the workspace as separate projects, if I make a change in A/a.h, and Ctrl+B (build all projects in the workspace), then it won't recompile files in B that depend on A/a.h ... I have to be aware of it and manually force recompilation of those files, either by clean and build which is slow, or touch the files and build which is tedious. I guess I could manually add inter projects dependencies but then that's going to be tedious to manage manually...
  • I am using ccache to speed up compilation and I am very happy with it. I have /usr/local/bin/gcc (and g++ and others), as symlinks to ccache. But for some reason eclipse does not use it. I don't know what it's using and it's scary. I suppose it's using /usr/bin/gcc but who knows
  • the indexer occasionally cannot find some objects (variables, methods, etc.). Sometimes even if it's within one single project.
  • I had to allow eclipse to use 8GB of memory in eclipse.ini so that the indexer wouldn't freeze the whole GUI. I can afford it but that seems ridiculous. I also tried using oracle's JRE but I didn't notice any improvement in term of memory management or speed.
  • some build errors (in particular linker errors) are not always reported properly

Reading about previous answers, I guess I'll give QtCreator a try.

Feeling better already, had to let some steam out... ;)

EDIT: I did switch to QtCreator a couple of months ago, and I've never looked back!