KDevelop — современная интегрированная среда разработки (integrated development environment, IDE) для C++ (и других языков программирования), одно из многих приложений KDE. Она работает в Linux® (даже если используется другое окружение рабочего стола, например, GNOME), но доступна и для большинства других вариантов UNIX®, а также для Windows.
KDevelop предоставляет все возможности современных интегрированных сред разработки. Для работы с большими проектами и приложениями наиболее важным является то, что KDevelop понимает C++: программа анализирует всю базу кода и запоминает, элементом каких классов является каждая из функций, где заданы переменные и каковы их типы, а также многие другие параметры кода. Например, допустим, что в одном из заголовочных файлов проекта объявлен класс
class Car { // ... public: std::string get_color () const; };
и дальше в программе есть код
Car my_ride; // ...какие-то действия с этой переменной... std::string color = my_ride.ge
так как программа помнит о том, что my_ride
в последней строке представляет собой переменную типа Car
, она предложит дополнить ge
как get_color()
, так как эта функция является единственной функцией класса Car
, название которой так начинается. Продолжать набирать текст не нужно — достаточно просто нажать клавишу «Ввод» для получения целого слова; это экономит время, позволяет избегать опечаток и не держать в голове точные названия сотен или тысяч функций и классов, из которых складываются большие проекты.
В качестве второго примера рассмотрим такой код:
double foo () { double var = my_func(); return var * var; } double bar () { double var = my_func(); return var * var * var; }
Если навести указатель мыши на переменную var
в функции bar
, будут показаны все случаи использования этой переменной. При щелчке по ней будут показаны только случаи её использования в функции bar
, так как KDevelop понимает, что переменная var
в функции foo
— это совсем другая переменная. Аналогичным образом, щелчок по имени переменной правой кнопкой мыши позволяет переименовать её; это действие затронет только переменную в функции bar
, но не переменную с тем же именем в функции foo
.
Возможности KDevelop не ограничиваются редактированием кода. Программа позволяет выделять исходный ход разными цветами и настраивать расстановку отступов, содержит интегрированный интерфейс к отладчику GNU gdb, показывает справку при наведении указателя мыши на функцию, поддерживает работу с различными средами сборки и компиляторами (например, с проектами на основе make и cmake), а также предоставляет многие другие возможности, о которых рассказывается в этом руководстве.