Hubbry Logo
KDevelopKDevelopMain
Open search
KDevelop
Community hub
KDevelop
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
KDevelop
KDevelop
from Wikipedia
KDevelop
DeveloperKDE
Initial releaseDecember 6, 1999; 25 years ago (1999-12-06)[1]
Stable release
6.3.250800[2] Edit this on Wikidata / 14 August 2025; 2 months ago (14 August 2025)
Repository
Written inC, C++
Operating systemLinux, Windows, macOS (preview, no official pre-built installer)
TypeIntegrated development environment
LicenseGPL-2.0-or-later[3][4]
Websitewww.kdevelop.org Edit this on Wikidata

KDevelop is a free and open-source integrated development environment (IDE) for Unix-like computer operating systems and Windows. It provides editing, navigation and debugging features for several programming languages, and integration with build automation and version-control systems, using a plugin-based architecture.[5]

KDevelop 5 has parser backends for C, C++, Objective-C, OpenCL and JavaScript/QML, with plugins supporting PHP, Python 3 and Ruby.[6] Basic syntax highlighting and code folding are available for dozens of other source-code and markup formats, but without semantic analysis.

KDevelop is part of the KDE project, and is based on KDE Frameworks and Qt. The C/C++ backend uses Clang to provide accurate information even for very complex codebases.

History

[edit]

KDevelop 0.1 was released in 1998,[7] with 1.0 following in late 1999.[8] 1.x and 2.x were developed over a period of four years from the original codebase.

It is believed that Sandy Meier originated KDevelop. Ralf Nolden is also known to be an early developer of the project. In 1998 Sandy Meier started KDevelop and worked 8 weeks alone on this project. Since then, the KDevelop IDE is publicly available under the GPL and supports many programming languages.

Bernd Gehrmann started a complete rewrite and announced KDevelop 3.x in March 2001.[9] Its first release was together with K Desktop Environment 3.2 in February 2004, and development of KDevelop 3.x continued until 2008.

KDevelop 4.x, another complete rewrite with a more object-oriented programming model,[10] was developed from August 2005 and released as KDevelop 4.0.0 in May 2010.[11] The last feature update of this branch was version 4.7.0 in September 2014,[12] with bugfix releases continuing until KDevelop 4.7.4 in December 2016[13]

KDevelop 5 development began in August 2014 as a continuation of the 4.x codebase, ported to Qt5 and KDE Frameworks 5.[14] The custom C++ parser used in earlier versions, which had poor support for C++11 syntax, was replaced by a new Clang-based backend. The integrated CMakeFile interpreter was also removed in favour of JSON metadata produced by the upstream CMake tool.

Semantic language support was added for QML and JavaScript, using the parser from Qt Creator, alongside a new QMake project-manager backend.[6]

The first stable 5.x release was KDevelop 5.0.0 in August 2016.[15] In October 2016, official Microsoft Windows builds were released for the first time.[16]

Features

[edit]

KDevelop uses an embedded text editor component through the KParts framework. The default editor is KDE Advanced Text Editor, which can optionally be replaced with a Qt Designer-based editor. This list focuses on the features of KDevelop itself. For features specific to the editor component, see the article on Kate.

KDevelop 4 is a completely plugin-based architecture. When a developer makes a change, they only must compile the plugin. There is a possibility to keep several profiles each of which determines which plugins to be loaded. KDevelop does not come with a text editor, but instead uses a plugin for this purpose as well. KDevelop is programming language independent and build system-independent, supporting KDE, GNOME, and many other technologies such as Qt, GTK+, and wxWidgets.

KDevelop has supported a variety of programming languages, including C, C++, Python, PHP, Java, Fortran, Ruby, Ada, Pascal, SQL, and Bash scripting. Supported build systems include GNU (automake), cmake, qmake, and make for custom projects (KDevelop does not destroy user Makefiles if they are used) and scripting projects which don't need one.

Code completion is available for C and C++. Symbols are kept in a Berkeley DB file for quick lookups without re-parsing. KDevelop also offers a developer framework which helps to write new parsers for other programming languages.

An integrated debugger allows graphically doing all debugging with breakpoints and backtraces. It even works with dynamically loaded plugins unlike command line GDB.

Quick Open allows quick navigation between files.

Currently, around 50 to 100 plugins exist for this IDE. Major ones include persistent project-wide code bookmarks, Code abbreviations which allow expanding text quickly, a Source formatter which reformats code to a style guide before saving, Regular expressions search, and project-wide search/replace which helps in refactoring code.

See also

[edit]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
KDevelop is a free and open-source (IDE) designed primarily for and development, with built-in support for editing, navigation, and debugging in these languages as well as and . It employs a plugin-based architecture that allows extension to additional languages including Python and via optional plugins, and integrates with build systems like and QMake, along with tools such as . Cross-platform compatibility extends to as the primary platform, with support for Windows, making it suitable for large-scale software projects involving interconnected frameworks like those in the or Qt ecosystems. Originating in 1998 at the in , KDevelop's initial version 0.1 was released the same year as part of the early project efforts to provide robust development tools for systems. Over the years, it evolved through major version branches, including the KDE 4 series (up to 4.7.4 in 2016) and the KDE Frameworks-based 5.x series (culminating in 5.6.1 in 2020), before adopting KDE's calendar versioning scheme with releases like 24.12.0 in late 2024. As of November 2025, the latest stable release is 25.08.3, reflecting ongoing maintenance and enhancements focused on stability, performance, and plugin extensibility. Key strengths of KDevelop include its advanced code comprehension powered by for precise C/C++ , multi-project management for handling complex codebases, and seamless integration with tools like GDB and through dedicated plugins. It emphasizes usability for professional developers, offering features such as , refactoring support, and documentation lookup, while remaining lightweight and customizable compared to heavier IDEs. The IDE's development is community-driven under the umbrella, with source code hosted on KDE's instance, encouraging contributions for new language plugins and platform improvements.

Introduction

Overview

KDevelop is a free and open-source (IDE) designed primarily for in C and C++, with built-in support for and , and additional languages such as Python, , and others through plugins. It serves as a comprehensive tool for programmers working on projects within the and Qt ecosystems, enabling efficient code editing, analysis, and management. The IDE targets development on operating systems including , BSD, and Solaris, as well as Windows, making it suitable for a range of environments where technologies are prevalent. Its architecture emphasizes integration with open-source workflows, particularly for building applications that leverage Qt frameworks. Key characteristics of KDevelop include its plugin-based extensibility, which allows customization for specific needs like advanced or tools, and its cross-platform compatibility. It is engineered to be lightweight, featuring fast startup times and a small compared to heavier IDEs, while maintaining robust functionality for large-scale projects. As of November 2025, the current stable version is 25.08.3, following the KDE release cycle that uses a year.month.patch numbering scheme.

Platform and licensing

KDevelop is a cross-platform primarily designed for operating systems, with official support for various distributions, as well as builds available for Windows and macOS. It also maintains compatibility with and Solaris through community ports and historical builds, enabling developers on these platforms to utilize its features without major modifications. This broad platform support stems from its foundation in portable technologies, allowing it to run on diverse environments while prioritizing stability on . The IDE is built on the Qt framework and Frameworks (version 5 and later), which provide essential components for its , text editing, and capabilities. While full functionality requires certain KDE libraries, KDevelop can operate independently of the complete desktop environment, making it suitable for integration into other desktop setups like or XFCE. KDevelop is distributed under the GNU General Public License (GPL) version 2 or later for its core codebase, ensuring that modifications and derivatives remain open-source. Some plugins may use compatible open-source licenses, but all contributions adhere to principles as part of the project. Users can obtain KDevelop through KDE's official releases, distribution package managers such as apt for Debian-based systems or pacman for , containerized formats like from Flathub or Snap from Snapcraft, and direct source compilation via KDE's repository.

History

Origins and early development

KDevelop originated in the late as part of the early community's efforts to enhance development tools for the emerging desktop environment on systems. The project was initiated at the in during the summer of 1998, with the goal of creating a native (IDE) tailored for and Qt developers. The first alpha snapshot, version 0.1, was announced on September 22, 1998, via the KDE announce mailing list, marking the project's public debut as an IDE for X11, Qt, and . This initial release focused primarily on C++ support, offering basic editing capabilities, , and integration with build tools like and to simplify application development. The early team was led by Sandy Meier, alongside contributors Stefan Heidrich and Stefan Bartel, who handled the core implementation and maintenance. Throughout its pre-3.x development phase from 1998 to around 2003, KDevelop faced challenges in establishing stability and usability amid the rapid evolution of the 1.x and 2.x environments. The project relied on custom parsers for language analysis, which provided foundational C++ support but required ongoing refinements to handle complex codebases effectively. Early efforts also emphasized competing with established tools like and by prioritizing a user-friendly interface and -specific features, such as access to Qt documentation and rapid application development (RAD) components like a graphical dialog editor.

KDevelop 3.x

The KDevelop 3.x series represented the project's first major stable release line, designed in close with the 3 to provide a robust (IDE) for systems. The inaugural stable version, KDevelop 3.0, launched alongside KDE 3.2 on February 3, 2004, marking a significant after years of alpha and beta development. This release introduced foundational capabilities including for organizing codebases, context-aware to assist in writing and refactoring, and integrated support via GDB integration, enabling developers to step through code, set breakpoints, and inspect variables efficiently. These features positioned KDevelop 3.0 as a competitive open-source alternative to commercial IDEs, emphasizing productivity for application development. Over the subsequent years, the 3.x series evolved through iterative updates, spanning versions from 3.0 in 2004 to the final 3.5.1 in 2008, with each iteration refining core functionalities to enhance usability and reliability. Key improvements included expanded for better visual code distinction across supported languages, and strengthened integration with make-based build systems, allowing seamless configuration and execution of complex compilation processes common in projects. These enhancements addressed user feedback on stability and performance, ensuring broader compatibility with evolving 3 toolchains while maintaining a lightweight footprint suitable for resource-constrained environments of the era. A hallmark of the 3.x era was the introduction of a custom C++ parser, internally codenamed , which provided semantic analysis capabilities beyond basic syntax . This parser enabled advanced features like precise symbol resolution and , facilitating tools such as class browsers and cross-references that deepened code navigation and understanding for C++ developers. Complementing this, KDevelop 3.x extended support to multiple programming languages through a modular plugin architecture, including for object-oriented desktop applications and for , allowing users to mix environments within a single IDE workspace. The 3.x development cycle concluded in 2008 with the release of version 3.5.1, as the KDE community pivoted resources toward 4, rendering the Qt3-based architecture of KDevelop 3.x increasingly incompatible and prompting a full rewrite for the next generation. This transition effectively ended active maintenance of the series, though it left a lasting legacy in establishing KDevelop's reputation for extensible, KDE-centric development tools.

KDevelop 4.x and transition

The KDevelop 4.x series marked a significant evolution for the IDE, aligning it more closely with the 4 platform following its initial release in January 2008. Development of KDevelop 4 began amid the turbulence of 4's early versions, which faced criticism for instability and incomplete features, delaying the stable launch of KDevelop 4.0 until May 1, 2010. Subsequent releases continued through 4.7.4 in December 2016, but with a primary emphasis on stability and bug fixes after the feature-complete 4.7.0 in September 2014. Key advancements in the 4.x series included an enhanced plugin system that improved modularity and extensibility, allowing better integration of language-specific tools like PHP and C++ support. CMake integration saw substantial improvements, enabling more robust project management with features such as code completion, navigation, and inline API documentation for CMake and Qt projects. The user interface was refined with session management capabilities, allowing developers to organize multiple related projects within a single workspace for easier switching and persistence across sessions. Additional enhancements encompassed reduced memory usage and faster startup for large projects, alongside polished unit testing interfaces and official support for version control systems like Bazaar. The series encountered challenges stemming from KDE 4's foundational frameworks, including compatibility issues with for multimedia handling and for device integration, which contributed to broader platform instability during early adoption. To address gaps, developers partially backported features from the more mature KDevelop 3.x series, such as certain parsing and navigation tools, to bolster usability without a full rewrite. By 2014, the growing maturity of Qt 5 and KDE Frameworks 5 (KF5) prompted a strategic shift, with KDevelop's master branch officially depending on these technologies starting August 27, 2014, effectively ending active feature development for the 4.x series. The release of 4.7.0 served as the final KDE 4-based milestone, with long-term stability support promised but no further innovations, paving the way for a comprehensive rewrite in KDevelop 5 targeted for 2015.

KDevelop 5.x and modern era

Development of KDevelop 5 began in August 2014 as a port of the KDevelop 4.x codebase to Qt 5 and Frameworks 5 (KF5). This effort addressed the need to modernize the IDE for newer technologies while maintaining compatibility with existing features. The first stable release, KDevelop 5.0.0, arrived on August 23, 2016, marking a significant milestone after nearly two years of development. A key technical overhaul in the 5.x series was the abandonment of KDevelop's custom C++ parser in favor of integration with from the project. This shift enabled 100% accurate code parsing and semantic analysis without requiring full project builds, dramatically improving reliability and performance for C++ development. The -based plugin provided robust support for modern C++ standards, error detection, and , resolving longstanding limitations of the previous parser. Subsequent releases built on this foundation, with KDevelop 5.1 launching in March 2017 and introducing integration for , alongside enhancements like LLDB debugger support and improved Python language handling. The series progressed through versions up to 5.6 by 2020, focusing on stability and plugin refinements. By 2023, KDevelop aligned with Gear's year-based versioning scheme, adopting releases such as 23.08, 24.02, and 25.08 to synchronize with broader application cycles. In the , KDevelop emphasizes performance optimizations, expanded language support via optional plugins for Python and , and cross-platform capabilities across , Windows, and macOS. These developments enhance usability for diverse workflows, including better code and integration with tools like Clang-Tidy. The latest release, 25.08.3 on November 6, 2025, primarily delivers bug fixes and updated localizations as part of maintenance.

Features

Language support

KDevelop provides full language support for several programming languages, enabling features such as semantic , code navigation, and context-aware completion. These include and C++, which leverage the / libraries for parsing to ensure 100% accurate without invoking a . is also fully supported through the same / backend, inheriting the precision of C/C++ handling. Qt QML and JavaScript receive integrated support tailored for Qt development, with semantic features like and navigation. Python and PHP support is available via optional plugins that provide semantic completion and using cached code representations for performance. For languages without full support, KDevelop offers basic functionality including and text-based . Examples include and , where users benefit from editor-level aids but lack deep semantic analysis or refactoring tools. The core language handling in KDevelop relies on the DUChain infrastructure, a framework that builds a persistent, disk-cached model for awareness across supported languages. Since version 5.0, custom parsers have been phased out in favor of external libraries like for C/C++ and , enhancing accuracy and maintainability. Language-specific DUChain implementations then provide the semantic layer on top of these parsers. Extensibility is achieved through the plugin framework, allowing community-developed additions for other languages.

Editing and navigation tools

KDevelop provides advanced editing tools that leverage semantic analysis to enhance code readability and efficiency. Semantic highlighting distinguishes elements such as class names from variables based on language semantics, improving code comprehension beyond basic syntax coloring. Additionally, optional highlighting color-codes variables to aid in tracking their usage across the codebase. Context-sensitive offers intelligent suggestions by analyzing the project's semantic model, supported by a persistent disk cache that enables fast, accurate autocompletion even for large codebases; this cache is rebuilt incrementally to minimize overhead. Scriptable code snippets allow users to create customizable templates with dynamic fields, cycled via , and integrated directly into the completion list for rapid insertion of . Navigation features in KDevelop facilitate quick orientation within projects and code structures. The Quick Open dialog, activated by Ctrl+K, enables project-wide searches for files, classes, or functions, displaying results in a filtered list for instant access. Users can jump to a symbol's declaration or definition by Ctrl+clicking on it, powered by the underlying definition-use chain that resolves references semantically across supported languages. The code browser provides a navigable view of the project's structure, allowing exploration of unfamiliar codebases through interactive symbol traversal. Outline views, including project, class, and function browsers, offer hierarchical representations of code elements, with expandable nodes for detailed inspection. Documentation integration enhances editing by providing on-demand contextual help without leaving the editor. Hover tooltips display quick information on symbols, and users can invoke full via a context menu option, supporting formats like QtHelp (.qch files), man pages, and help pages. In version 5.6 and later, inline problem notes appear directly in the editor margin, showing colored icons and brief descriptions of warnings or errors next to affected lines, with hover expansion for more details; this feature improves issue visibility during editing. Additional editing capabilities include powerful find and replace functionality with support, enabling precise modifications across entire projects or selected scopes. A built-in code formatter applies consistent styling, with predefined configurations for C/C++ and Python, and extensibility via custom scripts for other languages. For users preferring modal editing, KDevelop offers a Vim-compatible input mode that emulates keybindings and commands within the editor. These tools collectively emphasize semantic awareness, drawing from language parsers to deliver precise, context-aware assistance during code authoring.

Build, debugging, and integration

KDevelop provides robust support for building projects through native integration with several popular build systems. It offers full support for and QMake, enabling automatic detection of include paths, build targets, and run configurations. For generic Makefiles, KDevelop includes dedicated configuration pages that facilitate setup for make and generators, allowing users to define custom build steps and environment variables. Additionally, a generic build system is available for projects without automatic include path detection, accommodating custom build tools through flexible scripting and command-line integration. The IDE's debugging capabilities are centered on a graphical debugger that supports breakpoints, watchpoints, and examination of call stacks for efficient troubleshooting. For and C++ development, KDevelop integrates with GDB as the primary backend, with LLDB support added starting from version 5.1 to provide an alternative debugging engine compatible with modern toolchains. Python debugging is handled via the kdev-python plugin, which enables stepping through code, variable inspection, and integration with the Python debugger (pdb). These features are accessible through a unified interface that filters problems and supports code navigation during sessions. Version control integration in KDevelop includes a graphical user interface for managing repositories with , (SVN), , CVS, and via an optional plugin. Support for was introduced in version 5.1, enhancing compatibility for enterprise workflows. Key functionalities encompass commit, branch, and merge operations, along with an annotate view that displays the last modification details for code lines and provides one-click access to diffs for quick change reviews. Beyond core build and debugging, KDevelop incorporates other integrations to streamline development. is supported through the Unit Tests toolview, which interfaces directly with CMake's CTest for running, monitoring, and reporting test results. The IDE leverages KDE's KParts framework to embed external viewers for various file types, such as documentation or media. An embedded console, powered by Konsole's KPart, allows execution of shell commands within the IDE environment, facilitating interactive builds and diagnostics.

User interface and extensibility

KDevelop's emphasizes flexibility and personalization to streamline developer workflows. The is fully reorderable, allowing users to enable, disable, or rearrange buttons for intuitive access to frequently used functions. The IDE supports arbitrary split views and multi-tab editing, enabling simultaneous display of multiple files or sections without disrupting focus. Toolbars and overall layouts are configurable, with tool views draggable to arbitrary positions within the main to create a tailored workspace. Visual and input customization options further enhance usability. Color schemes are independently configurable for the application interface and code editor, including support for dark themes to reduce during extended sessions. Keyboard shortcuts can be remapped for nearly every action, such as aligning code with Tab or toggling breakpoints via Ctrl+B, through the Settings → Configure Shortcuts dialog. Themes integrate seamlessly with KDE's ecosystem for consistent styling across desktop environments. Session management and performance optimizations contribute to a smooth experience. KDevelop automatically saves sessions, restoring open files, layouts, and views upon relaunch for uninterrupted work. Fast startup is achieved through of components and a persistent disk cache for the code database, ensuring quick initialization even with large projects while maintaining a low initial . Extensibility is facilitated by KDevelop's plugin-based architecture, which permits users to install optional plugins for additional tools like language support or without core modifications. The KDevelop Platform (kdevplatform) provides the essential libraries for plugin development and integration, forming the modular backbone that powers these extensions. Distinctive features underscore the IDE's innovative approach to code interaction. Inline notes, introduced in version 5.6, allow optional display of problem annotations—such as error descriptions—directly at the end of affected code lines, improving issue visibility and debugging efficiency. Project templates serve as skeletons for new developments, generating essential files like CMakeLists.txt and main.cpp with user-replaceable placeholders; additional templates can be downloaded or installed to support diverse project types.

Development and community

Architecture and plugins

KDevelop's core architecture is built upon the KDevelop Platform (kdevplatform), a set of libraries that provide language-agnostic services essential for IDE operations, such as , session handling, and code parsing frameworks. This foundation enables modular development by separating core logic from elements, allowing plugins to extend functionality without altering the base system. Session management in kdevplatform maintains persistent data across uses, including cached code models for efficient reloading of projects. Central to the architecture is the DUChain framework, which constructs a language-independent representation of as a definition-use chain—a of contexts and declarations that supports features like , navigation, and refactoring. DUChain relies on parser backends to build this model; for instance, the Clang integration plugin uses the (AST) to populate DUChain data structures, enabling precise analysis for C++ and related languages. Key components include the project manager for handling build configurations and file hierarchies, output views for displaying compilation results and errors, and a clear separation of UI elements (built with Qt and Frameworks) from backend logic to promote reusability. The plugin system adopts a , with plugins loaded on demand to minimize and startup time. KDevelop includes over 20 built-in plugins covering areas such as support (e.g., C++, Python), version control systems (e.g., ), and debugging tools, all integrated via kdevplatform's service architecture. Extensibility is achieved through C++ plugins that leverage APIs and kdevplatform libraries, allowing developers to implement custom services like new parsers or tools. Community-contributed plugins are hosted on KDE Invent and , fostering ongoing enhancements to the ecosystem.

Contributing and releases

Contributions to KDevelop are facilitated through the KDE community's standard development processes, primarily using the Git version control system hosted on KDE Invent (invent.kde.org). Developers submit code changes, bug fixes, new features, or plugins via merge requests to the KDevelop repository at invent.kde.org/kdevelop/kdevelop. The KDE Git workflow emphasizes feature branches, code reviews, and integration testing before merging into the main branch. Bug reports and feature requests are handled through KDE's Bugzilla instance at bugs.kde.org, where users can file issues related to KDevelop or its platform components. For newcomers, "Junior Jobs" are tagged in Bugzilla to provide accessible entry points for contributions. Translations for KDevelop are managed via the KDE localization platform at l10n.kde.org, allowing volunteers to contribute to over 70 languages supported by the project. Plugin development follows the extensible architecture of KDevPlatform, with guidelines encouraging modular design and adherence to KDE's standards; new plugins can be proposed through merge requests or initial discussions on the developer mailing list. Community interaction for contributors occurs via the kdevelop-devel at mail.kde.org and the IRC channel #kdevelop on . KDevelop's release cycle aligns with the quarterly cadence of , which delivers stable updates every three months, typically in February, May, August, and November. The 25.08 series, for example, reached initial stable release on August 14, 2025, following a beta phase that included a feature freeze in and public beta testing. Maintenance updates, such as the latest 25.08.3 patch released on November 6, 2025, focus on bug fixes, stability improvements, and translation updates without introducing new features. This process ensures timely delivery while incorporating community feedback from beta testers. The KDevelop project is maintained under the umbrella of KDE e.V., the non-profit organization overseeing KDE software development. Community engagement includes active participation on the kdevelop-devel mailing list for discussions and the KDE forums at discuss.kde.org for user support and brainstorming. Annual events like KDE Akademy, the community's flagship conference, feature talks and workshops on KDevelop topics, fostering collaboration among developers and users. Looking ahead, the community has expressed interest in enhancing KDevelop with AI-assisted coding features, improving native Windows support beyond current installations via the KDE installer, and expanding language coverage through additional plugins, though specific implementations remain in early discussion stages as of 2025.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.