Глава 1. Что такое KDevelop?

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), а также предоставляет многие другие возможности, о которых рассказывается в этом руководстве.