KDevelop

from Wikipedia, the free encyclopedia
KDevelop

Logo from KDevelop
Screenshot
KDevelop 4 (English)
Basic data

developer KDE
Current  version 5.5.2
( June 2, 2020 )
operating system Linux / Unix derivatives , Mac OS X , Windows
programming language C ++ ( Qt )
category Integrated development environment
License GPL ( Free Software )
German speaking Yes
www.kdevelop.org

KDevelop is a free graphic development environment for Unix -based operating systems and Microsoft Windows . The focus is on supporting C ++ as a programming language, but some other languages ​​are also supported by additional modules ("plugins").

history

The KDevelop project was started in 1998 at the Institute for Computer Science at the University of Potsdam to provide an easy-to-use, integrated development environment for C ++ and C on Unix- based operating systems. Since then, the KDevelop-IDE has been publicly available under the GPL and supports u. a. Qt , KDE , Gnome , C ++ and C projects.

From version 3.4 onwards, KDevelop limited itself to a new graphical user interface called Simple-IDEAl, was able to integrate free and commercial modules (plug-ins) and mastered many new programming languages.

The completely revised 4.x development line is based on KDE Platform 4 .

The 5.x development line uses KDE frameworks and Qt 5 and is a continuous further development of KDevelop 4.

Notable features

For supported languages, KDevelop has the ability to analyze the code written by the user in (almost) real time in the background. With the information collected in this way, a variety of functions are then offered, including, for example:

  • Marking of errors of a syntactic and semantic nature (e.g. missing brackets, but also the use of undefined variables)
  • Quick opener function, which searches for classes, files and functions in real time in the entire project and opens them on request
  • intelligent code highlighting that reflects the structure of the program (e.g. different colors for different variables)
  • contextual intelligent code completion

Other noteworthy functions that are not directly related to language support are, for example

Functionality and technical details

For the supported languages, when a project is loaded or as soon as the user makes a change in the editor window, the code in the affected files is (re) analyzed. An abstract representation of the program code (called definition-use-chain , or DUChain for short ) is generated, which for example contains information about where variables and functions are declared and what types they have. Many of the language-related functions (for example code highlighting, quick openers, list of classes and functions, ...) are made available by the IDE with the help of this information; often without any additional code in the plugin for the language in question. For other functions that cannot be generalized to this extent - such as code completion and suggestions ("tool tips") - a comprehensive API is available, which makes it easier to integrate new languages.

Text editor

KDevelop does not implement its own text editor, but uses KatePart through the KParts framework. The functions implemented in KatePart itself or as plugins for KatePart, for example the vi input mode, are therefore also available in KDevelop.

KDevelop and KDevPlatform

KDevelop from version 4 is based on KDevPlatform, which provides extensive APIs for example for static code analysis, for the integration of version control systems, or for the integration of graphical debuggers. KDevPlatform is administered by the same developers as KDevelop; the separation serves for better reusability. KDevelop itself is essentially a collection of plugins for KDevPlatform. The development environment KDevelop is therefore not absolutely necessary for the use of many plugins. It is therefore possible to create another application based on KDevPlatform, which then uses the same plugins, for example to offer integration of version control or code highlighting. One such application was the IDE Quanta , which was optimized for web development , but its development was discontinued at the end of 2012.

Supported languages

Language support for C ++, CMake and JavaScript / QML is an integral part of KDevelop 4 and 5. Support for PHP and Python is available in the form of additional plugins. We are working on supporting additional languages, for example Ruby and Go. For all other languages, only the basic functions, such as simple syntax highlighting and text-based code completion, are available. A few additional functions are available for developing C ++ projects that use the Qt library , for example support for the signal slot concept used by Qt .

KDevelop 3 supported the languages Ada , Bash , C , C # , C ++ , D , Fortran , Haskell , Java , Objective-C , Pascal , Perl , PHP , Python , Ruby , SQL and XUL .

literature

  • Robert Gruber, Jonas Jacobi: KDevelop - Introduction to the development environment . Open Source Press, Munich March 2007, ISBN 3-937514-31-7 .
  • Ronny Kissing: KDE development with KDevelop . 2nd Edition. Bomots Verlag, Saarbrücken 2008, ISBN 978-3-939316-50-3 .

Web links

Commons : KDevelop  - collection of images, videos and audio files

Individual evidence

  1. github.com . 2nd June 2020.
  2. 'ANNOUNCE: kdevelop-0.1.tar.gz' - MARC .
  3. Unknown: Niko's blog: Quanta update . November 3, 2012.
  4. kdev-php.git - PHP Language Plugin for KDevelop / Quanta. .
  5. kdev-python.git - KDevelop plugin which provides Python language support. .
  6. KDevelop and KDevPlatform plugins ( Memento from May 31, 2013 in the Internet Archive )
  7. Features - Kate - Get an Edge in Editing .
  8. Working with Syntax Highlighting .