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.
- switch header/implementation:
- 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.
Website: www.kdevelop.org
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 | |
---|---|
The 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. | |
Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information. | |
The Big List of Active Linux Distros is a large compilation of actively developed Linux distributions. | |
Replace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS. | |
Awesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series. | |
Machine 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. | |
New 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. | |
Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users. | |
Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine. | |
Surveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal. | |
Saving Money with Linux looks at how you can reduce your energy bills running Linux. | |
Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum. | |
Now and Then examines how promising open source software fared over the years. It can be a bumpy ride. | |
Linux 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 Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery. | |
Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers. | |
Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series. | |
These best free books accelerate your learning of every programming language. Learn a new language today! | |
These free tutorials offer the perfect tonic to our free programming books series. | |
Linux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts. | |
Stars and Stripes is an occasional series looking at the impact of Linux in the USA. |