Over a million developers have joined DZone.

KDevelop 4.0: A C++ Focused IDE

DZone 's Guide to

KDevelop 4.0: A C++ Focused IDE

· Java Zone ·
Free Resource
The KDevelop open source IDE for the KDE desktop environment has reached version 4.0 after five years of development.  The developers decided to focus on making KDevelop a solid C++ IDE for this release instead of adding half-supported features for some of the other languages that KDevelop supports.  In fact, many features from version 3.5 were dropped because the "nearly complete rewrite" was intended to focus mostly on C++ features.

The crown jewel of KDevelop 4.0 is its C++ code "understanding engine."  According to the developers, it "allows the IDE to understand your code better than you do."  This cuts down on the tedious tasks required for development.  KDevelop 4.0 features plenty of specific code assistance features as well.

Code Assistants
There are a handful of semi-automatic coding assistants in the IDE.  For example, if you assign an item to a variable that doesn't exist, KDevelop will intelligently ask if you want to create a variable with the matching type you've assigned.  If you call on a non-existent function, a similar process will take place.  KDevelop will also ask if you want to adapt a declaration when you change the signature of a function-definition.

Code Navigation
Broad semantic highlighting and code navigation comes with this release, allowing quicker code searches and recognition of errors, algorithms, or other syntax.  Its highlighting is dependent on more complex characteristics than any other C++ IDE, according to the developers.

Code Completion
KDevelop 4.0's code completion can handle complex templates.  It can also generate missing include statements or forward declarations automatically.  A powerful feature is type-matching, which automatically recognizes which items most closely match the current context  based on their type and the C++ type-conversion rules.  It then offers the best matches ranked on a list.  This feature is supported for function-arguments, in return statements, signals/slot connections, and more.

KDevelop Interface

KDevelop 4.0 has integrated GDB support into its debugger, making it possible to detect runtime errors.  Along with the basic debugging features (breakpoints, stepping, stopping, etc.) the debugger also shows Qt, KDE, and STL types in human-readable form. 

Build and Project Management
KDeveloper comes with the CMake build system.  You can also build projects with custom or generated makefiles.  The support for CMake has some reduced language-support features (code completion, navigation, highlighting) and target adding integrations with C++.  A QuickOpen feature can quickly navigate any file, class, or function in an opened project.

PHP Support
Along with KDevelop 4.0, several stable PHP plugins have been introduced.  Plugin features include real-time syntax error reporting, semantic analysis, code completion, and support for OOP.  Context browsing, highlighting, PHP.net docs integration, and QuickOpen are other included features.

Other Features
Many of KDevelop 4.0's code assist features also apply to its Qt support.  The documentation is shown inline with APIs for CMake and Qt in tooltips over classes and functions.  You can also review all of the documentation through the toolview.  KDevelop 4.0 also features SVN integration with inline editor annotations, grepping over files, session support, and source code formatting.

Here is where you'll find the KDevelop download.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}