Глава 3. Работа с исходным кодом

При разработке большая часть времени (не считая отладку) уходит на изучение и написание исходного кода. Для этих задач в KDevelop предусмотрено множество способ анализа исходного кода и оптимизации его написания. Как более подробно рассказывается в последующих разделах, KDevelop — не просто редактор исходного кода; скорее, это система управления исходным кодом, которая может предоставлять различные данные, полученные на основе анализа общей совокупности всего кода в сеансе работы.

Инструменты и представления

Для работы над проектами в KDevelop предусмотрены инструменты. Инструмент позволяет использовать определённое представление исходного кода или выполнить над ним какое-либо действие. Инструментам соответствуют кнопки по периметру окна (с вертикальным текстом вдоль левой и правой границ и горизонтальным текстом вдоль нижней границы). При нажатии такой кнопки внутри главного окна откроется дочернее окно — представление; если снова нажать кнопку, это дочернее окно исчезнет.

Чтобы убрать дочернее окно, также можно нажать кнопку x, расположенную в его правом верхнем углу

На изображении выше показан определённый набор инструментов, расположенных по левому и правому краям окна; инструмент Классы открыт с левой стороны, инструмент Фрагменты — с правой, а в середине находится редактор файлов исходного кода. На практике, скорее всего, большую часть времени будет открыт редактор и, возможно, инструмент Классы или Навигация по коду слева. Панели других инструментов, как правило, открываются на время использования и затем закрываются, чтобы оставить больше места для редактора.

При первом запуске KDevelop уже будет доступна кнопка инструмента Проекты. Нажмите её: откроется дочернее окно, в нижней части которого показаны добавленные в сеанс проекты, а в верхней — представление каталогов проектов в файловой системе.

В KDevelop есть много других инструментов. Не все из них изначально представлены кнопками по периметру. Чтобы добавить соответствующие кнопки, выберите пункт меню ОкноДобавить панель…. Скорее всего, будут полезны следующие инструменты:

  • Классы: полный перечень всех классов, определённых в одном из проектов или в сеансе, со всеми входящими в них функциями и переменными. Если щёлкнуть по любому члену класса, появится окно редактора исходного кода с местом объявления соответствующего элемента.

  • Документы: список последних использовавшихся файлов, по типу (например, файлы исходного кода, файлы исправлений, текстовые документы).

  • Навигация по коду: отображает информацию, которая определяется положением курсора в файле. Например, когда курсор находится на строке #include, будет показана информация о включаемом файле (например, данные об объявленных в нём классах); когда курсор находится на пустой строке в файле, будут показаны классы и функции, объявленные и определённые в текущем файле (все в виде ссылок: по щелчку будет выполняться переход к тому месту, где фактически находится соответствующее объявление или определение); когда курсор находится на определении функции, будет показано место объявления, и предоставлен список мест, в которых используется эта функция.

  • Файловая система: позволяет просматривать файловую систему в виде дерева.

  • Документация: позволяет выполнять поиск данных на man-страницах и в других справочных документах.

  • Фрагменты: избавляет от необходимости каждый раз набирать заново последовательности текста, которые используются снова и снова. Например, в проекте, снимок которого представлен выше, часто требуется набирать код

for (typename Triangulation< dim>::active_cell_iterator cell
      = triangulation.begin_active();
   cell != triangulation.end();
   ++cell)

Выражение довольно неуклюжее, но используется почти без изменений каждый раз, когда нужен цикл, — отличный кандидат на включение в список фрагментов.

  • Konsole: открывает внутри главного окна KDevelop окно командной строки, что позволяет при необходимости вводить команды (например, чтобы выполнить ./configure).

Полный перечень инструментов и представлений доступен здесь.

Для многих программистов наиболее ценно экранное пространство по вертикали. Поэтому панели можно разместить по левому и правому краям окна: чтобы переместить панель, щёлкните по её заголовку правой кнопкой мыши и выберите новое положение.