KDevelop – cross-platform IDE for C, C++, Python, QML/JavaScript and PHP

KDevelop is a free Integrated Development Environment (IDE).

It uses the GNU Compiler collection, rather than implement its own compiler.

KDevelop integrates a lot of tools, scripts, and templates in a common user interface. It consists of several user interfaces modes, an Application Wizard, several project management system, editing tools, various file and class browsers, a debugger interface, several plugin tool and a set of other diagnosis, documentation, and optimization helper tools.

  • Code Snippets
    • SnippetPart adds a tool-view which by default docks to the right.
    • Adding, editing and removing of snippets is available via a popup-menu.
    • Double-clicking a snippet form the list inserts it into to the active view at the current cursor position.
    • Tool tips show the content of a snippet.
    • Snippets are stored in the users home-directory, so every user can have his own snippets.
    • Snippets can contain variables in the style of $VARNAME$. On using the snippet the user is prompted to enter replacement value for the variables.
  • Doxygen integration (API documentation generator)
    • Supports all programming languages that doxygen does (except IDL and D).
    • Previews the documentation that doxygen generates for the file you’re currently editing.
    • Configures doxygen.
    • Runs doxygen.
    • Views doxygen generated docs (html man or pdf formats).
    • Can use doxygen’s generated XML as tooltips for “as you type” code completion.
  • Plugin based documentation viewer
    • A unified interface to browsing documentation.
    • TOC, index and full text search (with htdig) capabilities.
    • Autodetection and inclusion of Qt, KDE Libs and DevHelp documentation.
    • Support for custom documentation collections (KDevelopTOC format).
    • Ability to open local, remote and even compressed documentation (using any protocol supported by Konqueror – http, ftp, sftp, tar, zip, etc).
    • Supports TXT, HTML, DevHelp, CHM, PDF, Djvu and PDB file formats.
    • Can use any documentation format that your KDE supports.
  • Flexible application wizard (project templates)
    • Application wizard generates complete, ready-to-go sample applications.
    • Templates for each supported language and build system exist.
    • Ability to use custom application templates not included in distribution.
    • Contains all of KDevelop 3.0 templates plus GTK, GNOME and Bonobo application templates.
  • RAD (Rapid Application Development) oriented
    • New kdevdesigner application allows seamless QT based GUI development by integrating QTdesigner in the KDE framework.
    • New kdevassistant application allows QT style documentation help.
    • These both applications can be used as standalone or from within KDevelop itself, this enables one development program for all your development needs.
  • C++ Support
    • switch header/implementation:
      • works inside the single file.
      • works correctly with methods with typedef’ed return values.
      • works with constant functions.
      • aware of using directives when locating the functions from the namespace.
    • Persistant Class Store (Code Completion databases):
      • KDE class importer correctly finds kdelibs location.
      • Qt4 class importer added.
      • autodetected paths now overrideable.
    • code hinting:
      • status bar shows the type of the expression under the cursor.
    • c++ parser:
      • Modify the parser to extract comments from the code, attach them to corresponding items, and store them into the AST.
      • Fix a case where the cpp parser suddenly ate all RAM when facing macro-heavy files.
    • code model:
      • make the code-model and repository store more information like templates and comments, and provide them.
      • the code-model now completely works with nested classes that are forward-declared in one file, and completely declared in another(file-groups are managed now, and code-model-items that are physically from one file, can now be attached to another, so some search-functions had to be improved).
    • code completion:
      • is much more reliable.
      • was rewritten in big parts.
      • works within template-classes.
      • works within functions of classes that are imported by using-directives.
      • can parse much more complex expressions and can easily be extended to understand additional operators(using an abstract operator-class).
      • supports class-templates, function-templates, and even implicit template-instantiation for function-templates.
      • evaluates all types in the completion-entry-list and shows their template-processed(real) types.
      • calltips and the completion-list show the corresponding comments.
      • the completion-entry-list now shows the members sorted by their access-rights, and shows a note behind members that are protected/private.
      • Fixes the bug of KDevelop crashing while completing a class which has itself as base-class and a few other little bugs.
    • new context-menus that evaluate the expression under the cursor and allow to browse the code and the code-model using all types and variables involved.
    • new class wizard:
      • bug fixes.
      • creation of headers only.
  • Plugin-based architecture
    • Functionality can be added, replaced and removed without altering core source code.
    • Libraries license (LGPL) allows creating commercial and free IDE plugins.
    • Support for profiles which determine a set of plugins to be loaded. This is especially useful for restricted environments or custom setups.
  • Project Management
    • Native non-intrusive automake and qmake support. Hand-made modifications allowed and recognized by the IDE, also existing projects and subprojects can be easily imported.
    • Ability to use custom makefiles to build the project.
    • Support for ant – build tool for java projects.
    • Support for extra project types like pascal, haskell, ada and scripting projects.
    • A framework for adding support for any build system by creating build system plugins for the generic project manager.
    • New file wizard to manage file templates and create new files in project from templates.
    • Compiler plugins to define compiler options in convenient dialogs.
    • Configuration profiles with the ability to specify different compilers, compiler flags, build directories, target architecture, etc.
    • Project documenting facilities such as doxygen support for creating automatic API-documentation (in html, tex and man formats) for a project with cross-references to the used libraries.
    • Internationalization support, allowing translators to add their target language to a project easily, including support of KBabel.
    • Support for Qt/Embedded projects.
  • Language Support
    • 15 supported languages including Ada, C, C++, Objective-C (via C support), SQL, Fortran, Haskell, Java, PHP, Pascal, Perl, Python, Ruby, Bash, XUL (unofficially).
    • Problem reporter which reports various “problems” with the source code as you type. Problems include language syntax errors, TODO’s and FIXME’s.
    • Class browser to display a hierarchy of classes and other symbols in project.
    • Language parsers to feed class browser and problem reporter.
    • Class, method and attribute wizards for object-oriented languages.
    • Automatic code completion and code hinting for class variables, methods, function arguments and more.
    • Source formatting, syntax highlighting and code folding.
    • C++ specific features, such as:
      • “make member” – creating method definition in source file basing on the method declaration in header file.
      • “extract interface”- extracting interface (method declarations) and creating abstract base class with that interface.
      • “subclassing” – automated subclass creating and slot implementing for Qt Designer forms.
  • Integrated Debugger
    • GDB and Java debugger frontends.
    • Integrated GDB console.
    • Line, address, method breakpoints and watchpoints.
    • Conditional breakpoints.
    • Disassembler and frame stack viewer.
    • Variable watch tree.
    • Memory, registers and libraries viewers.
    • Debugger shell (libtool) support.
    • Remote debugging.
    • Variables widget
    • Stack Widget
  • Code Editing
    • Any editor which implements KDE KTextEditor interface can be used with KDevelop.
    • Currently available editors are Kate, QEditor (based on the Qt Designer editor) and KVim.
    • Project wide bookmarks which are stored in the project file.
    • Difference viewer between currently edited text and text on the disk.
    • Difference viewer for patch files.
    • Grep integration – regular expression search in project.
    • Project wide find and replace tool.
  • Version Control System
    • A common API to include VCS support in KDevelop.
    • Supported VCS systems: CVS, Perforce, Subversion and Clearcase.
  • Application Wizard
    • Application wizard generates complete, ready-to-go sample applications.
    • Templates for each supported language and build system exist.
    • Ability to use custom application templates not included in distribution.
    • A bunch of KDE related project templates (KPart applications, simple KDE applications, KControl modules, Kicker (panel) applets, KOffice parts, KIOSlaves, Konqueror, Noatun and Kate plugins and desktop styles).
  • Documentation Viewer
    • A unified interface to browsing documentation.
    • TOC, index and full text search (with htdig) capabilities.
    • Autodetection and inclusion of Qt, KDE Libs and DevHelp documentation.
    • Support for custom documentation collections (KDevelopTOC format).
    • Ability to open local, remote and even compressed documentation (using any protocol supported by Konqueror – http, ftp, sftp, tar, zip, etc.).
    • Ability to open various documentation formats (html, text, ps, pdf, chm, etc).
  • Other Features
    • The user interface is fully configurable, it allows on the fly switching between classic MDI modes like toplevel, childframe and the new IDEAl mode featuring sliding tool-views.
    • Embedded console.
    • File selector, file tree and file groups facilities obviating the need for an external file manager.
    • The inclusion of any other program you need for development by adding it to the “Tools”-menu according to your individual needs.
    • Regular expression tester.
    • Valgrind integration to find memory leaks in programs.
    • Project distribution and packaging tool for automated creation of source and binary packages.
    • CTags integration.
    • Part explorer to query available KDE services.

Support: Support
Developer: KDE
License: GNU General Public License v2.0


KDevelop is written in C and C++. Learn C with our recommended free books and free tutorials. Learn C++ with our recommended free books and free tutorials.

Return to Integrated Development Environments

Popular series
Free and Open Source SoftwareThe largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions.
ReviewsHundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.
Alternatives to Proprietary SoftwareReplace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS.
GamesAwesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series.
Artificial intelligence iconMachine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source.
Guide to LinuxNew to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux.
Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities.
System ToolsEssential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.
ProductivityLinux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.
AudioSurveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal.
Saving Money with LinuxSaving Money with Linux looks at how you can reduce your energy bills running Linux.
Home ComputersHome computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.
Now and ThenNow and Then examines how promising open source software fared over the years. It can be a bumpy ride.
Linux at HomeLinux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.
Linux CandyLinux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.
DockerGetting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.
Android AppsBest Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series.
Programming BooksThese best free books accelerate your learning of every programming language. Learn a new language today!
Programming TutorialsThese free tutorials offer the perfect tonic to our free programming books series.
Linux Around The WorldLinux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts.
Stars and StripesStars and Stripes is an occasional series looking at the impact of Linux in the USA.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments