CDT FAQ Strongly recommended
Using Eclipse CDT for Mozilla development An interesting take on Eclipse/CDT
- After starting Eclipse, let the Indexer run out completely. Leaving it running in the background and debugging at the same time doesn't seem to work on my installation.
- See bug 35960. If you have multiple files with the same name in your project, check off the Search for duplicate source files option on the Source tab of the launch configuration.
- If you're debugging an application which does a fork and then exits, it's best to just run the process and attach to it later. gdb has an option "set follow-fork-mode child", but this doesn't seem to work.
- It's probably best to edit your eclipse.ini file and set the line -Xmx256m to -Xmx512m
- Refactoring is limited, not even 'extract method'.
- Editor is not equal to the Java editor yet; for instance the Mark occurrences option is not implemented.
- "Clicking through" (i.e. CTRL + left-click) takes you to a header file, while often you want to see the implementation. The workaround is to right-click and choose Open Definition, but don't do this immediately. You might end up in a similarly-named function which you didn't include through a header file.
- Hovering over a function will show the start of the function definition, but only if the function body is located in the same file. Otherwise nothing will be shown but the function name.
- Hovering over a constant will show nothing.
Coming from Java and starting CDT:
- Turn off 'Build automatically' and get into the habit of rebuilding after you're done editing a file
- Building is as good as the makefiles in your project. If you're taking over a project, be sure the makefiles are rock-solid and don't emit funny output. I've seen Eclipse bring down a development machine because some makefile jumped into another project and begun compiling there. It worked on the commandline but CDT spawned thousands of instances of make.
- Source files which are named the same aren't handled properly. Rename or move where appropriate. Forget about symlinks. See the warnings above.