KDevelop

Last updated
KDevelop
Developer(s) KDE
Initial releaseDecember 6, 1999;24 years ago (1999-12-06) [1]
Stable release
5.12.230804 [2]   OOjs UI icon edit-ltr-progressive.svg / 7 December 2023;8 months ago (7 December 2023)
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 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]

Contents

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

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

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 a cross-platform application development framework 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">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 15, released on September 18, 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 that 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">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.

<span class="mw-page-title-main">KDE Software Compilation 4</span> Software

KDE Software Compilation 4 was the only series of the so-called KDE Software Compilation, first released in January 2008 and the last release being 4.14.3 released in November 2014. It was the follow-up to K Desktop Environment 3. Following KDE SC 4, the compilation was broken up into basic framework libraries, desktop environment and applications, which are termed KDE Frameworks 5, KDE Plasma 5 and KDE Applications, respectively.

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.

<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.

<span class="mw-page-title-main">Vala (programming language)</span> Programming language

Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system.

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, Python 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">KWrite</span> Text editor for KDE desktop environment

KWrite is a lightweight text editor developed by the KDE free software community. Since K Desktop Environment 3, Kwrite has been based on the Kate text editor and the KParts framework, allowing it to use many of Kate's features.

Dart is a programming language designed by Lars Bak and Kasper Lund and developed by Google. It can be used to develop web and mobile apps as well as server and desktop applications.

<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 the technological foundation for KDE Plasma and KDE Gear. It is 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. "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. 1 2 "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.