KDevelop vs VisualStudio for Qt/C++

Since I’m writing a multiplayer card game system in Qt, I’d like to make sure for it to be as cross-platform as possible. That’s why I signed up for MSDN Academic Alliance via the university, which gave me free access to Windows and Visual Studio.

This gives me an opportunity to compare VS against my current favourite, KDevelop. It is fitting that both projects are currently in a beta stage and both future releases promise great improvements. I’ll try to be objective, but my only experience is with a CMake-Qt C++ project, which certainly isn’t VS’s focus

In ease of installation, KDevelop wins hands down. Even not using the linux standard {one-line|three-click} package install, compiling KDevelop from source takes less time and effort than downloading and installing VS.

Language support

This is in my opinion the main playing field. VS10 has IntelliSense(TM):

KDevelop has autocompletion, which doesn’t sound as fancy, but is much more useful in my short experience. It also has not only syntax highlighting, but variables are also colored. This allows for easy-on-the-eyes tracking of variable usage.

KDevelop full autocompletion with syntax coloring

On the flip side, KDevelop’s support is currently only for C++. Plugins for other languages are in testing/playground and some will be in the final release, but they’re not ready yet.

Both provide similar code navigation, useful to track function calls. I haven’t really used this much so I don’t have an informed opinion. Both also provide wizards for new projects and classes.

As you can see, both programs offer very similar features in this area, that is finding definitions, declarations and uses of fuctions and variables.

Integration with free software tools

This is not really a contest, as KDevelop is designed for use with these tools and Visual Studio is not. It is worth mentioning that CMake can produce usable VS project and solution files which are then built by VS. A time consuming drawback here is that Visual Studio has to be restarted every time a CMake is re-run. However, if you don’t change the CMakeLists, the build process is quite normal.

KDevelop can import CMake projects and even help you intelligently modify CMakeLists with autocompletion of variables and auto-adding new classes. It doesn’t support pure qmake projects though, you have to run qmake yourself and load the resulting Makefile, pretty much the same procedure as with Visual Studio.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: