KDevelop

Last updated
KDevelop
Developer(s) KDE
Initial releaseDecember 6, 1999;23 years ago (1999-12-06) [1]
Stable release
5.10.221200 [2]   OOjs UI icon edit-ltr-progressive.svg / 8 December 2022;7 months ago (8 December 2022)
Repository
Written in C, C++
Operating system Linux, Windows, macOS (preview, no official pre-built installer)
Type Integrated development environment
License GPL-2.0-or-later [3] [4]
Website www.kdevelop.org   OOjs UI icon edit-ltr-progressive.svg

KDevelop is a free and open-source [5] 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. [6]

Contents

KDevelop 5 has parser backends for C, C++, Objective-C, OpenCL and JavaScript/QML, with plugins supporting PHP, Python 3 and Ruby. [7] 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, [8] with 1.0 following in late 1999. [9] 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. [10] 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, [11] was developed from August 2005 and released as KDevelop 4.0.0 in May 2010. [12] The last feature update of this branch was version 4.7.0 in September 2014, [13] with bugfix releases continuing until KDevelop 4.7.4 in December 2016 [14]

KDevelop 5 development began in August 2014 as a continuation of the 4.x codebase, ported to Qt5 and KDE Frameworks 5. [15] 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. [7]

The first stable 5.x release was KDevelop 5.0.0 in August 2016. [16] In October 2016, official Microsoft Windows builds were released for the first time. [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.

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

Related Research Articles

<span class="mw-page-title-main">Qt (software)</span> Object-oriented framework for software development

Qt is free and open-source cross-platform software for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

<span class="mw-page-title-main">KHTML</span> Discontinued web browser engine

KHTML is a discontinued browser engine that was developed by the KDE project. It originated as the engine of the Konqueror browser in the late 1990s, but active development ceased in 2016. It was officially discontinued in 2023.

<span class="mw-page-title-main">Xcode</span> IDE including tools for developing software for Apple platforms

Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. It was initially released in late 2003; the latest stable release is version 14.3.1, released on June 1, 2023, and is available free of charge via the Mac App Store and the Apple Developer website. Registered developers can also download preview releases and prior versions of the suite through the Apple Developer website. Xcode includes command-line tools which enable UNIX-style development via the Terminal app in macOS. They can also be downloaded and installed without the GUI.

<span class="mw-page-title-main">Konsole</span> Terminal emulator

Konsole is a free and open-source terminal emulator graphical application which is part of KDE Applications and ships with the KDE desktop environment. Konsole was originally written by Lars Doelle. It ls licensed under the GPL-2.0-or-later and the GNU Free Documentation License.

<span class="mw-page-title-main">SharpDevelop</span>

SharpDevelop is a discontinued free and open source integrated development environment (IDE) for the .NET Framework, Mono, Gtk# and Glade# platforms. It supports development in C#, Visual Basic .NET, Boo, F#, IronPython and IronRuby programming languages.

The following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language.

Kross is a scripting framework for KDE Frameworks. Originally Kross was designed for use in KOffice but eventually became the official scripting framework in KDE Software Compilation 4. Kross is designed to provide full scripting power for users of KDE applications, with a language of their own choice; and make it easy for developers targeting the KDE platform to enable their application with support for multiple scripting languages.

<span class="mw-page-title-main">JUCE</span> C++ Cross-Platform Application Development Framework

JUCE is an open-source cross-platform C++ application framework, used for the development of desktop and mobile applications. JUCE is used in particular for its GUI and plug-ins libraries. It is dual licensed under the GPLv3 and a commercial license.

Qbs is a cross-platform free and open-source software for managing the build process of software. It was designed to support large, complex projects, written in any number of programming languages, primarily C/C++.

<span class="mw-page-title-main">K Desktop Environment 2</span> Free software

K Desktop Environment 2 was the second series of releases of the K Desktop Environment. There were three major releases in this series.

<span class="mw-page-title-main">CodeLite</span> Integrated development environment

CodeLite is a free and open-source IDE for the C, C++, PHP, and JavaScript (Node.js) programming languages.

<span class="mw-page-title-main">Qt Creator</span> QT development environment

Qt Creator is a cross-platform C++, JavaScript and QML integrated development environment (IDE) which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Qt API, which encapsulates host OS GUI function calls. It includes a visual debugger and an integrated WYSIWYG GUI layout and forms designer. The editor has features such as syntax highlighting and autocompletion. Qt Creator uses the C++ compiler from the GNU Compiler Collection on Linux. On Windows it can use MinGW or MSVC with the default install and can also use Microsoft Console Debugger when compiled from source code. Clang is also supported.

<span class="mw-page-title-main">Spyder (software)</span> IDE for scientific programming in Python

Spyder is an open-source cross-platform integrated development environment (IDE) for scientific programming in the Python language. Spyder integrates with a number of prominent packages in the scientific Python stack, including NumPy, SciPy, Matplotlib, pandas, IPython, SymPy and Cython, as well as other open-source software. It is released under the MIT license.

asm.js is a subset of JavaScript designed to allow computer software written in languages such as C to be run as web applications while maintaining performance characteristics considerably better than standard JavaScript, which is the typical language used for such applications.

<span class="mw-page-title-main">KDE Frameworks</span> Collection of libraries and software frameworks for the Qt framework

KDE Frameworks is a collection of libraries and software frameworks readily available to any Qt-based software stacks or applications on multiple operating systems. Featuring frequently needed functionality solutions like hardware integration, file format support, additional graphical control elements, plotting functions, and spell checking, the collection serves as technological foundation for KDE Plasma 5 and KDE Gear distributed under the GNU Lesser General Public License (LGPL).

Felgo is a cross-platform development tool, based on the Qt framework. It can be used to create mobile apps or games. Felgo apps and games are supported on iOS, Android, Windows Phone, embedded devices and desktop devices. Felgo developers use QML, JavaScript and C++ to create mobile apps and games.

<span class="mw-page-title-main">KDE Gear</span> Set of applications and supporting libraries

The KDE Gear is a set of applications and supporting libraries that are developed by the KDE community, primarily used on Linux-based operating systems but mostly multiplatform, and released on a common release schedule.

References

  1. "KDevelop – News of 1999". KDE. 1999-12-06. Archived from the original on 2003-06-21. Retrieved 2012-12-27.
  2. "Releases 5.10.221200 2022-12-08" . Retrieved 20 December 2022.
  3. "org.kde.kdevelop.appdata.xml".
  4. "COPYING · rKDEVELOP". invent.kde.org. Archived from the original on 2020-07-04.
  5. Instrumentalmusiker, Texas Musikgruppe Sänger, Hi, OCLC   1262745260 , retrieved 2022-01-13
  6. "A cross-platform IDE for C, C++, Python, JavaScript and PHP". www.kdevelop.org. KDevelop. Retrieved 2017-01-17.
  7. 1 2 "What's new in KDevelop 5.0?". Personal Blog of Kevin Funk. 2016-08-23. Retrieved 2017-01-17.
  8. "ANNOUNCE: kdevelop-0.1.tar.gz". KDE. 1998-09-22. Retrieved 2013-09-22.
  9. "Kdevelop 1.0 released - Slashdot". tech.slashdot.org. Retrieved 2017-01-17.
  10. "A new IDE for a new millennium". KDE. 2001-03-30. Retrieved 2013-09-22.
  11. "KDevelop4 moved". 29 November 2009. Retrieved 29 November 2009.
  12. "Finally KDevelop 4.0 final published". 1 May 2010. Retrieved 2010-05-01.
  13. "KDevelop 4.7.0 Released". 13 September 2014.
  14. "KDevelop 4.7.4 released". www.kdevelop.org. KDevelop. 13 December 2016. Retrieved 2017-01-17.
  15. "KDevelop master now depends on KDE Frameworks 5!". 27 August 2014.
  16. "KDevelop 5.0.0 release". www.kdevelop.org. KDevelop. 23 August 2016. Retrieved 2017-01-17.
  17. "KDevelop for Windows: Official 5.0.1 beta installer available now". www.kdevelop.org. KDevelop. 9 October 2016. Retrieved 2017-01-17.
  18. "KDevelop 5.0.0 release | KDevelop". www.kdevelop.org. 23 August 2016. Retrieved 2018-12-10.