For a long time I’ve been looking for a good cross platform development environment that would allow fast exploration and navigation of C/C++ source code, not just editing of individual files. For a while I though that Eclipse will fit the bill, but as I wrote previously, the CDT (C/C++ Development Tooling) was really disappointing for me.
In this post I’d like to tell you about my recent big hope for a truly productive IDE, which is the Qt Creator from qtsoftware.com. Qt Creator is based on the popular cross-platform Qt framework and runs natively on Windows, Linux, BSD, Mac OS X, and some embedded platforms. No Java (as in the case of Eclipse) means speed and snappy interface. Qt Software (previously Trolltech, acquired in 2008 by Nokia) offers free downloads of Qt Creator for all major platforms.
Qt Creator is primarily targeted as the IDE for Qt-related development. However, the recently released version 1.1 (April 23, 2009) supports external projects, so adding your embedded or any other projects unrelated to Qt is easy.
For example, I’ve created an embedded project for a “game” shown in the screen shot below (click on the image to see it full-size):
The editing surface maximizes the screen real-estate for file viewing and supports sophisticated splitting, so that my favorite side-by-side code editing is easy.
As shown in the left pane, you can add to your project as many files in different directories as you like. Given this information, Qt Creator builds an internal database of all symbols in your code to allow you exploring and navigating through your source code quickly. For example, you can jump from symbol usage to its definition by pressing F2 (press Alt-back-arrow to jump back to the previous context).
Everything in the editor is designed to enhance quick navigation. For example, every editor pane has a drop-down list of functions and other elements in the file. The editor also supports selective viewing with collapsible/expandable code sections, so you can fit more information on the screen. To quickly view the collapsed section you can simply hover your mouse cursor over it.
I immensely like the support for project-wide searching (as well as search-and-replace), which is available at the bottom of the screen. This feature alone is worth installing the tool.
Even though it is so new, Qt Creator is already very interesting, free, cross-platform IDE with features comparable to Visual Studio 2008 and other best-in-class tools. Qt Software seems very committed to enhancing Qt Creator and I hope that Qt Creator will soon catch up with Eclipse as third-party plug-ins will be developed. One feature that I will be looking forward to is side-by-side code differencing. But already, it is a powerful, free, cross-platform tool that you should try.
Have you tried SlickEdit? It is fantastic for C++ development.
I’ve tried SlickEdit and generally like it. As good as it is, I’m disappointed that it doesn’t have the great column-editing capability that UltraEdit has. Once you get used to it like I did at my last company, you really miss it when it’s not there. In UltraEdit, you can go to column mode, “select” a vertical line (zero-width) of whatever height you want, and start typing or hitting the delete key as many times as you want, and it STAYS in column mode affecting all the lines at once as you keep typing. This is extremely useful for fixing indent spacing in old code that has different spacing used in different areas. I know I’ve used it for other things as well. Every time I try a new editor, that’s one of the first things I try to do, and I haven’t found another one yet that can do that. Anyone know of one that can? I’ll try Qt Creator.
I agree that SlickEdit is really slick. It's not free, but It's an excellent choice as well. Highly recommended!
For an apples to apples comparison (company committed to the enhancing/supporting new features), Qt creator should perhaps be stacked against (eclipse-based) IDEs from Montavista (DevRocket) or WindRiver(Workbench).