This is an old revision of the document!
Table of Contents
Netbeans + C/C++/Fortran
Apparently, the classic Java IDE Netbeans has C/C++ and Fortran support. And even more interesting, said C/C++/Fortran package also has Qt support.
Netbeans itself is Java/Swing based, so that means the IDE UI will look a bit goofy, but I personally don't mind sort of like how the Metal look-and-feel looks and feels (except for the file browser, which is a marathon race beyond fugly, and the font rendering, which after a gazillion years is still sucky…come on Oracle!). The Qt part of the package integrates with Qt Designer for layout tasks. It opens *.ui files directly into Qt Designer from the IDE.
I sorta like this setup. I can get my brain around it, it seems full-featured, and while it's not a platform standard look and feel, the way things work is fairly standard.
The pros
- Code completion isn't bad (but Qt Creator's is probably better).
- Support for Python development is allegedly available as well.
- Automated package building in tar, deb, etc. formats(!)
- Pretty profiling
- TODO: profiling in other IDEs?
- Support for Python allegedly exists.
The cons
- The project structure seems to be a bit goofy. Rather than having a
*.pro
file at the top level, it creates different*.pro
files for debug and release (along with a heap of other files) in thenbproject
subdirectory. This makes it hard to move the project to another IDE and/or import pre-existing projects. This is easily the most disconcerting con. With one export test case that I tried, moving the*.pro
file up to the source files dir and making a few tweaks to the file let me open, build, and run the project in Qt Creator. For importing projects see See this for more info. - Less-than-optimal Swing font rendering (come on Oracle!)
- You need to manually add code to the project that a more highly integrated setup (e.g., Qt Creator) would normally do for you, such as:
- to the
main.cpp
file:#include <formname>.h
- to the
main
function inmain.cpp
<FormName> main_form; main_form.show();
- headers and implementations for all the slots in
<formname>.h
and<formname>.cpp
- etc.
- Adding custom project template (which would solve the above issue) doesn't seem to be an easy task.
- By default Netbeans opens a terminal shell when you debug projects and the debugger sees warnings (I think) – but it does not automatically dispose of it when you are done. Fortunately, you can make this go away by setting the project options to use the internal terminal or output pane.