Jump to content

KDevelop: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m I AM CHANGE THE SOME PART OF A HISTORY....
Tags: Visual edit Mobile edit Mobile web edit
 
(58 intermediate revisions by 29 users not shown)
Line 1: Line 1:
{{Short description|Integrated development environment}}
{{Infobox software
{{Infobox software
| name = KDevelop
| name = KDevelop
| title = KDevelop
| title = KDevelop
| logo = Breezeicons-apps-48-kdevelop.svg
| logo = Breezeicons-apps-48-kdevelop.svg
| logo caption =
| screenshot = Kdevelop--breeze dark theme.png
| logo_size = 70px
| developer = [[KDE]]
| logo_alt =
| released = {{Start date and age|1999|12|06}}<ref>{{cite web
| url = http://www.kdevelop.org/index.htmlfilename=main1999.html
| screenshot = Kdevelop--breeze dark theme.png
| archive-url = https://web.archive.org/web/20030621132836/http://www.kdevelop.org/index.html?filename=main1999.html
| author =
| archive-date = 2003-06-21
| developer = [[KDE]]
| title = KDevelop – News of 1999
| released = {{Start date and age|1999|12|06}}<ref>{{cite web|url=http://www.kdevelop.org/index.htmlfilename=main1999.html|archiveurl=https://web.archive.org/web/20030621132836/http://www.kdevelop.org/index.html?filename=main1999.html |archivedate=2003-06-21 |title=KDevelop – News of 1999|publisher=[[KDE]] |date=1999-12-06 |accessdate=2012-12-27}}</ref>
| publisher = [[KDE]]
| latest release version = 5.2.3
|latest release date = {{Start date and age|2018|05|20}}
| date = 1999-12-06
| access-date = 2012-12-27
}}</ref>
| 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}}}}
<!--
| latest preview version = {{wikidata|property|edit|reference|Q468841|P348|P548=Q51930650}}
| latest preview date = {{start date and age|{{wikidata|qualifier|Q468841|P348|P548=Q51930650|P577}}}}
-->
| discontinued =
| discontinued =
| status = Active
| programming language = [[C (programming language)|C]], [[C++]]
| programming language = [[C (programming language)|C]], [[C++]]
| operating system = [[GNU/Linux]], [[Windows]], [[macOS]] (preview, no official pre-built installer)
| operating system = [[Linux]], [[Microsoft Windows|Windows]], [[macOS]] (preview, no official pre-built installer)
| size =
| size =
| language = Multilingual<ref>{{cite web|url=http://l10n.kde.org/stats/gui/trunk-kde4/package/extragear-kdevelop/ |title=extragear-kdevelop |publisher=KDE Localization |date= |accessdate=2013-09-22}}</ref>
| language count = <!-- DO NOT include this parameter unless you know what it does -->
| language footnote =
| genre = [[Integrated development environment]]
| genre = [[Integrated development environment]]
| license = [[GPLv2]]<ref>{{cite web|url=https://phabricator.kde.org/diffusion/KDEVELOP/browse/master/COPYING|title=COPYING · rKDEVELOP|website=phabricator.kde.org}}</ref>
| license = [[GNU General Public License|GPL-2.0-or-later]]<ref>{{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 }}</ref><ref>{{cite web
| url = https://invent.kde.org/kdevelop/kdevelop/-/blob/master/COPYING
| alexa =
| archive-url = https://web.archive.org/web/20200704222133/https://invent.kde.org/kdevelop/kdevelop/-/blob/master/COPYING
| website = {{URL|https://www.kdevelop.org/}}
| url-status = dead
| standard =
| archive-date = 2020-07-04
| AsOf =
| title = COPYING · rKDEVELOP
| website = invent.kde.org
}}</ref>
}}
}}


'''KDevelop''' is a [[Free and open-source software|free and open-source]] [[integrated development environment]] (IDE) for [[Unix-like]] computer [[operating system]]s and [[Microsoft Windows]]. It provides [[Source code editor|editing]], navigation and [[debugging]] features for several [[programming language]]s, and integration with [[Build system|build automation]] and [[Version control|version-control systems]], using a [[Plug-in (computing)|plugin]]-based architecture.<ref>{{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}}</ref>
'''KDevelop''' is a [[Free and open-source software|free and open-source]] [[integrated development environment]] (IDE) for [[Unix-like]] computer [[operating system]]s and [[Microsoft Windows|Windows]]. It provides [[Source code editor|editing]], navigation and [[debugging]] features for several [[programming language]]s, and integration with [[Build system|build automation]] and [[Version control|version-control systems]], using a [[Plug-in (computing)|plugin]]-based architecture.<ref>{{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}}</ref>


KDevelop 5 has [[Parser (programming language)|parser]] backends for [[C (programming language)|C]], [[C++]], [[Objective-C]], [[OpenCL]] and [[JavaScript]]/[[QML]], with plugins supporting [[PHP]], [[Python 3]] and [[Ruby (programming language)|Ruby]].<ref name=":0">{{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}}</ref> Basic [[syntax highlighting]] and [[code folding]] are available for dozens of other [[Source code|source-code]] and [[Markup language|markup]] formats, but without semantic analysis.
KDevelop 5 has [[Parsing|parser]] backends for [[C (programming language)|C]], [[C++]], [[Objective-C]], [[OpenCL]] and [[JavaScript]]/[[QML]], with plugins supporting [[PHP]], [[Python 3]] and [[Ruby (programming language)|Ruby]].<ref name=":0">{{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}}</ref> Basic [[syntax highlighting]] and [[code folding]] are available for dozens of other [[Source code|source-code]] and [[Markup language|markup]] formats, but without [[Semantic analysis (compilers)|semantic analysis]].


KDevelop is part of the [[KDE]] project, and is based on [[KDE Frameworks]] and [[Qt 5|Qt]]. The C/C++ backend uses [[Clang]] to provide accurate information even for very complex codebases.
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 ==
==History==
KDevelop 0.1 was released in 1998,<ref>{{cite web|url=http://lists.kde.org/?l=kde-announce&amp;m=90648146015087&amp;w=2|title=ANNOUNCE: kdevelop-0.1.tar.gz|date=1998-09-22|publisher=KDE|accessdate=2013-09-22}}</ref> with 1.0 following in late 1999.<ref>{{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|access-date=2017-01-17}}</ref> 1.x and 2.x were developed over a period of four years from the original codebase.
KDevelop 0.1 was released in 1998,<ref>{{cite web|url=https://lists.kde.org/?l=kde-announce&amp;m=90648146015087&amp;w=2|title=ANNOUNCE: kdevelop-0.1.tar.gz|date=1998-09-22|publisher=KDE|access-date=2013-09-22}}</ref> with 1.0 following in late 1999.<ref>{{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}}</ref> 1.x and 2.x were developed over a period of four years from the original codebase.


AFAIK Sandy Meier founded it. Some people from his university helped him. Ralf Nolden has also been a member from the first days. 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.
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.


Berndnd Gehrmann started a complete [[rewrite (programming)|rewrite]] and announced KDevelop 3.x in March 2001.<ref>{{cite web|url=http://lists.kde.org/?l=kde-core-devel&amp;m=98598814600661&amp;w=2 |title=A new IDE for a new millennium |publisher=KDE |date=2001-03-30 |accessdate=2013-09-22}}</ref> Its first release was together with [[K Desktop Environment 3.2]] in February 2004, and development of KDevelop 3.x continued until 2008.
Bernd Gehrmann started a complete [[rewrite (programming)|rewrite]] and announced KDevelop 3.x in March 2001.<ref>{{cite web|url=https://lists.kde.org/?l=kde-core-devel&amp;m=98598814600661&amp;w=2 |title=A new IDE for a new millennium |publisher=KDE |date=2001-03-30 |access-date=2013-09-22}}</ref> 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,<ref>{{cite web|url=http://apaku.wordpress.com/2009/11/29/kdevelop4-moved/|title=KDevelop4 moved|accessdate=29 November 2009}}</ref> was developed from August 2005 and released as KDevelop 4.0.0 in May 2010.<ref>{{cite web|url=http://apaku.wordpress.com/2010/05/01/finally-kdevelop-4-0-final-published/|title=Finally KDevelop 4.0 final published|date=1 May 2010|accessdate=2010-05-01}}</ref> The last feature update of this branch was version 4.7.0 in September 2014,<ref>{{Cite web|url = https://www.kdevelop.org/news/kdevelop-470-released|title = KDevelop 4.7.0 Released|date = |accessdate = |website = |publisher = }}</ref> with bugfix releases continuing until KDevelop 4.7.4 in December 2016<ref>{{Cite web|url=https://www.kdevelop.org/news/kdevelop-474-released|title=KDevelop 4.7.4 released|publisher=KDevelop|website=www.kdevelop.org|access-date=2017-01-17}}</ref>
KDevelop 4.x, another complete rewrite with a more object-oriented programming model,<ref>{{cite web|url=https://apaku.wordpress.com/2009/11/29/kdevelop4-moved/|title=KDevelop4 moved|date=29 November 2009 |access-date=29 November 2009}}</ref> was developed from August 2005 and released as KDevelop 4.0.0 in May 2010.<ref>{{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}}</ref> The last feature update of this branch was version 4.7.0 in September 2014,<ref>{{cite web|url = https://www.kdevelop.org/news/kdevelop-470-released|title = KDevelop 4.7.0 Released| date=13 September 2014 }}</ref> with bugfix releases continuing until KDevelop 4.7.4 in December 2016<ref>{{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}}</ref>


KDevelop 5 development began in August 2014 as a continuation of the 4.x codebase, ported to Qt5 and KDE Frameworks 5.<ref>{{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 = |accessdate = |website = |publisher = }}</ref> 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 [[CMake|CMakeFile]] interpreter was also removed in favour of [[JSON]] [[metadata]] produced by the upstream CMake tool.
KDevelop 5 development began in August 2014 as a continuation of the 4.x codebase, ported to Qt5 and KDE Frameworks 5.<ref>{{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 }}</ref> 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 [[CMake|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|QMake]] project-manager backend.<ref name=":0" />
Semantic language support was added for QML and JavaScript, using the parser from [[Qt Creator]], alongside a new [[Qmake|QMake]] project-manager backend.<ref name=":0" />


The first stable 5.x release was KDevelop 5.0.0 in August 2016.<ref>{{Cite web|url=https://www.kdevelop.org/news/kdevelop-500-released|title=KDevelop 5.0.0 release|publisher=KDevelop|website=www.kdevelop.org|access-date=2017-01-17}}</ref> In October 2016, official Microsoft Windows builds were released for the first time.<ref>{{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|access-date=2017-01-17}}</ref>
The first stable 5.x release was KDevelop 5.0.0 in August 2016.<ref>{{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}}</ref> In October 2016, official Microsoft Windows builds were released for the first time.<ref>{{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}}</ref>

== Features ==
{{hatnote|See also: [https://www.kdevelop.org/features Kdevelop Features Tour]}}


==Features==
KDevelop uses an embedded [[text editor]] component through the [[KParts]] framework. The default editor is [[Kate (text editor)|KDE Advanced Text Editor]], which can optionally be replaced with a [[Qt (framework)|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 (text editor)|Kate]].
KDevelop uses an embedded [[text editor]] component through the [[KParts]] framework. The default editor is [[Kate (text editor)|KDE Advanced Text Editor]], which can optionally be replaced with a [[Qt (framework)|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 (text editor)|Kate]].

* [[Source code editor]] with [[syntax highlighting]] and automatic [[Indent style|indentation]] (Kate).
* [[Source code editor]] with [[syntax highlighting]] and automatic [[Indent style|indentation]] (Kate).
* [https://www.kdevelop.org/news/kdevelop-500-released C/C++ language is now supported with a Clang's backend (as of KDevelop-5.0)]
* C/C++ language is now supported with a Clang's backend (as of KDevelop-5.0)<ref>{{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}}</ref>
* Project management for different project types, such as [[Automake]], [[CMake]], ''qmake'' for [[Qt (toolkit)|Qt]] based projects and [[Apache Ant|Ant]] for [[Java (programming language)|Java]] based projects.
* Project management for different project types, such as [[Automake]], [[CMake]], ''qmake'' for [[Qt (toolkit)|Qt]] based projects and [[Apache Ant|Ant]] for [[Java (programming language)|Java]] based projects.
* Class browser.
* Class browser.
* GUI Designer
* [[GUI designer]]
* [[Front and back ends|Front-end]] for the [[GNU Compiler Collection]] and [[GNU Debugger]].
* [[Front and back ends|Front-end]] for the [[GNU Compiler Collection]] and [[GNU Debugger]].
* [[Wizard (software)|Wizards]] to generate and update [[class (computer science)|class]] definitions and application [[software framework|framework]].
* [[Wizard (software)|Wizards]] to generate and update [[class (computer science)|class]] definitions and application [[software framework|framework]].
Line 66: Line 83:
KDevelop 4 is a completely [[Plug-in (computing)|plugin]]-based architecture. When a developer makes a change, they only must [[compiler|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 (toolkit)|Qt]], [[GTK+]], and [[wxWidgets]].
KDevelop 4 is a completely [[Plug-in (computing)|plugin]]-based architecture. When a developer makes a change, they only must [[compiler|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 (toolkit)|Qt]], [[GTK+]], and [[wxWidgets]].


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


''Code completion'' is available for [[C (programming language)|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.
''Code completion'' is available for [[C (programming language)|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 [[breakpoint]]s and [[Stack trace|backtraces]]. It even works with dynamically loaded plugins unlike [[command line]] [[GDB]].
An integrated [[debugger]] allows graphically doing all debugging with [[breakpoint]]s and [[Stack trace|backtraces]]. It even works with dynamically loaded plugins unlike [[command line]] [[GDB]].
Line 76: Line 93:
Currently, around 50 to 100 plugins exist for this [[integrated development environment|IDE]]. Major ones include persistent project-wide code [[Internet bookmark|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.
Currently, around 50 to 100 plugins exist for this [[integrated development environment|IDE]]. Major ones include persistent project-wide code [[Internet bookmark|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 ==
==See also==
{{Portal|Free software}}
{{Portal|Free and open-source software}}

* [[Comparison of integrated development environments]]
* [[Comparison of integrated development environments]]
* [[List of KDE applications]]
* [[Qt Creator]]
* [[Qt Creator]]
* [[Code::Blocks]]
* [[CodeLite]]
* [[List of KDE applications]]

== Further reading ==
* [http://www.freehackers.org/interviews/kdevelop-2002-08/ Freehackers interview with KDevelop team]
* [http://www.dazzle.plus.com/linux/ KDE programming tutorial using KDevelop]


== References ==
==References==
{{Reflist|3}}
{{Reflist}}


== External links ==
==External links==
{{Commons category}}
{{Commons category}}
*{{Official website}}
* {{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}}
{{Integrated development environments}}
{{KDE}}
{{KDE}}
{{GUI builders}}


[[Category:User interface builders]]
[[Category:1999 software]]
[[Category:1999 software]]
[[Category:Free integrated development environments]]
[[Category:Free integrated development environments]]
Line 104: Line 122:
[[Category:KDE Applications]]
[[Category:KDE Applications]]
[[Category:Linux integrated development environments]]
[[Category:Linux integrated development environments]]
[[Category:Software using the GPL license]]
[[Category:Software using the GNU General Public License]]

Latest revision as of 06:56, 8 January 2025

KDevelop
Developer(s)KDE
Initial releaseDecember 6, 1999; 25 years ago (1999-12-06)[1]
Stable release
5.12.230804[2] Edit this on Wikidata / 7 December 2023; 13 months ago (7 December 2023)
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]
  1. ^ "KDevelop – News of 1999". KDE. 1999-12-06. Archived from the original on 2003-06-21. Retrieved 2012-12-27.
  2. ^ "5.12.230804 Release". Retrieved 2 January 2024.
  3. ^ "org.kde.kdevelop.appdata.xml". 15 March 2024.
  4. ^ "COPYING · rKDEVELOP". invent.kde.org. Archived from the original on 2020-07-04.
  5. ^ "A cross-platform IDE for C, C++, Python, JavaScript and PHP". www.kdevelop.org. KDevelop. Retrieved 2017-01-17.
  6. ^ a b "What's new in KDevelop 5.0?". Personal Blog of Kevin Funk. 2016-08-23. Retrieved 2017-01-17.
  7. ^ "ANNOUNCE: kdevelop-0.1.tar.gz". KDE. 1998-09-22. Retrieved 2013-09-22.
  8. ^ "Kdevelop 1.0 released - Slashdot". tech.slashdot.org. 6 December 1999. Retrieved 2017-01-17.
  9. ^ "A new IDE for a new millennium". KDE. 2001-03-30. Retrieved 2013-09-22.
  10. ^ "KDevelop4 moved". 29 November 2009. Retrieved 29 November 2009.
  11. ^ "Finally KDevelop 4.0 final published". 1 May 2010. Retrieved 2010-05-01.
  12. ^ "KDevelop 4.7.0 Released". 13 September 2014.
  13. ^ "KDevelop 4.7.4 released". www.kdevelop.org. KDevelop. 13 December 2016. Retrieved 2017-01-17.
  14. ^ "KDevelop master now depends on KDE Frameworks 5!". 27 August 2014.
  15. ^ "KDevelop 5.0.0 release". www.kdevelop.org. KDevelop. 23 August 2016. Retrieved 2017-01-17.
  16. ^ "KDevelop for Windows: Official 5.0.1 beta installer available now". www.kdevelop.org. KDevelop. 9 October 2016. Retrieved 2017-01-17.
  17. ^ "KDevelop 5.0.0 release | KDevelop". www.kdevelop.org. 23 August 2016. Retrieved 2018-12-10.
[edit]