KDevelop
{{Short description|Integrated development environment}}
{{Primary sources|date=January 2025}}
{{Infobox software
| name = KDevelop
| title = KDevelop
| logo = Breezeicons-apps-48-kdevelop.svg
| screenshot = Kdevelop--breeze dark theme.png
| developer = KDE
| released = {{Start date and age|1999|12|06}}{{cite web
| url = http://www.kdevelop.org/index.htmlfilename=main1999.html
| archive-url = https://web.archive.org/web/20030621132836/http://www.kdevelop.org/index.html?filename=main1999.html
| archive-date = 2003-06-21
| title = KDevelop – News of 1999
| publisher = KDE
| date = 1999-12-06
| access-date = 2012-12-27
}}
| latest release version = {{wikidata|property|edit|reference|Q468841|P348|P548=Q2804309}}
| latest release date = {{start date and age|{{wikidata|qualifier|Q468841|P348|P548=Q2804309|P577}}}}
| discontinued =
| programming language = C, C++
| operating system = Linux, Windows, macOS (preview, no official pre-built installer)
| size =
| genre = Integrated development environment
| license = GPL-2.0-or-later{{cite web|url=https://invent.kde.org/kdevelop/kdevelop/-/blob/master/org.kde.kdevelop.appdata.xml|title=org.kde.kdevelop.appdata.xml|date=15 March 2024 }}{{cite web
| url = https://invent.kde.org/kdevelop/kdevelop/-/blob/master/COPYING
| archive-url = https://web.archive.org/web/20200704222133/https://invent.kde.org/kdevelop/kdevelop/-/blob/master/COPYING
| url-status = dead
| archive-date = 2020-07-04
| title = COPYING · rKDEVELOP
| website = invent.kde.org
}}
}}
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.{{cite web
| url = https://www.kdevelop.org/
| title = A cross-platform IDE for C, C++, Python, JavaScript and PHP
| publisher = KDevelop
| website = www.kdevelop.org
| access-date = 2017-01-17}}
KDevelop 5 has parser backends for C, C++, Objective-C, OpenCL and JavaScript/QML, with plugins supporting PHP, Python 3 and Ruby.{{cite web
| url = http://kfunk.org/2016/08/23/whats-new-in-kdevelop-5-0/
| title = What's new in KDevelop 5.0?
| date = 2016-08-23
| website = Personal Blog of Kevin Funk
| access-date = 2017-01-17}} 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
KDevelop 0.1 was released in 1998,{{cite web|url=https://lists.kde.org/?l=kde-announce&m=90648146015087&w=2|title=ANNOUNCE: kdevelop-0.1.tar.gz|date=1998-09-22|publisher=KDE|access-date=2013-09-22}} with 1.0 following in late 1999.{{cite web|url=https://tech.slashdot.org/story/99/12/06/0252212/kdevelop-10-released|title=Kdevelop 1.0 released - Slashdot|website=tech.slashdot.org|date=6 December 1999 |access-date=2017-01-17}} 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.{{cite web|url=https://lists.kde.org/?l=kde-core-devel&m=98598814600661&w=2 |title=A new IDE for a new millennium |publisher=KDE |date=2001-03-30 |access-date=2013-09-22}} 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,{{cite web|url=https://apaku.wordpress.com/2009/11/29/kdevelop4-moved/|title=KDevelop4 moved|date=29 November 2009 |access-date=29 November 2009}} was developed from August 2005 and released as KDevelop 4.0.0 in May 2010.{{cite web|url=https://apaku.wordpress.com/2010/05/01/finally-kdevelop-4-0-final-published/|title=Finally KDevelop 4.0 final published|date=1 May 2010|access-date=2010-05-01}} The last feature update of this branch was version 4.7.0 in September 2014,{{cite web|url = https://www.kdevelop.org/news/kdevelop-470-released|title = KDevelop 4.7.0 Released| date=13 September 2014 }} with bugfix releases continuing until KDevelop 4.7.4 in December 2016{{cite web|url=https://www.kdevelop.org/news/kdevelop-474-released|title=KDevelop 4.7.4 released|publisher=KDevelop|website=www.kdevelop.org|date=13 December 2016 |access-date=2017-01-17}}
KDevelop 5 development began in August 2014 as a continuation of the 4.x codebase, ported to Qt5 and KDE Frameworks 5.{{cite web|url = https://www.kdevelop.org/frameworks/kdevelop-master-now-depends-kde-frameworks-5|title = KDevelop master now depends on KDE Frameworks 5!| date=27 August 2014 }} 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.
The first stable 5.x release was KDevelop 5.0.0 in August 2016.{{cite web|url=https://www.kdevelop.org/news/kdevelop-500-released|title=KDevelop 5.0.0 release|publisher=KDevelop|website=www.kdevelop.org|date=23 August 2016 |access-date=2017-01-17}} In October 2016, official Microsoft Windows builds were released for the first time.{{cite web|url=https://www.kdevelop.org/news/kdevelop-501-windows-released|title=KDevelop for Windows: Official 5.0.1 beta installer available now|publisher=KDevelop|website=www.kdevelop.org|date=9 October 2016 |access-date=2017-01-17}}
Features
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.
- Source code editor with syntax highlighting and automatic indentation (Kate).
- C/C++ language is now supported with a Clang's backend (as of KDevelop-5.0){{cite web|url=https://www.kdevelop.org/news/kdevelop-500-released|title=KDevelop 5.0.0 release {{!}} KDevelop|website=www.kdevelop.org|date=23 August 2016 |access-date=2018-12-10}}
- Project management for different project types, such as Automake, CMake, qmake for Qt based projects and Ant for Java based projects.
- Class browser.
- GUI designer
- Front-end for the GNU Compiler Collection and GNU Debugger.
- Wizards to generate and update class definitions and application framework.
- Automatic code completion (C/C++).
- Built-in Doxygen support.
- Revision control (also known as SCM) support. Supported systems include CVS, Subversion, Perforce, ClearCase, Git, Mercurial, and Bazaar
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
{{Portal|Free and open-source software}}
References
{{Reflist}}
External links
{{Commons category}}
- {{Official website}}
- Repositories:
- KDevelop: [https://invent.kde.org/kdevelop/kdevelop GitLab], [https://cgit.kde.org/kdevelop.git/ cgit] {{Webarchive|url=https://web.archive.org/web/20190320192834/https://cgit.kde.org/kdevelop.git/ |date=2019-03-20 }} and [https://github.com/KDE/kdevelop GitHub (mirror)]
- [https://linuxfoss.com/install-spotify-on-ubuntu/ Install KDevelop on Ubuntu]
- KTextEditor framework: [https://invent.kde.org/frameworks/ktexteditor GitLab], [https://cgit.kde.org/ktexteditor.git/ cgit] {{Webarchive|url=https://web.archive.org/web/20190202031042/https://cgit.kde.org/ktexteditor.git/ |date=2019-02-02 }} and [https://github.com/KDE/ktexteditor GitHub (mirror)]
- KSyntaxHighlighting framework: [https://invent.kde.org/frameworks/syntax-highlighting GitLab], [https://cgit.kde.org/syntax-highlighting.git/ cgit] {{Webarchive|url=https://web.archive.org/web/20190131013227/https://cgit.kde.org/syntax-highlighting.git/ |date=2019-01-31 }} and [https://github.com/KDE/syntax-highlighting GitHub (mirror)]
- Bug tracking: in [https://bugs.kde.org/describecomponents.cgi?product=kdevelop KDevelop], in [https://bugs.kde.org/describecomponents.cgi?product=frameworks-ktexteditor KTextEditor framework] and in [https://bugs.kde.org/describecomponents.cgi?product=frameworks-syntax-highlighting KSyntaxHighlighting framework]
{{Integrated development environments}}
{{KDE}}
{{GUI builders}}
Category:User interface builders
Category:Free integrated development environments
Category:Java development tools