Возможности
Поддерживаемые языки
Следующие языки поддерживаются полностью, а значит, для них доступны семантическая подсветка синтаксиса, навигация по коду и автодополнение:
- C/C++ и ObjC (на основе библиотек Clang/LLVM)
- Включая некоторые дополнительные возможности для Qt Framework
- Включая поддержку языков CUDA и OpenCL
- Qt QML и JavaScript
- Python (необязательный модуль)
- PHP (необязательный модуль)
Практически для всех неподдерживаемых языков по-прежнему доступны базовая подсветка синтаксиса и автодополнение кода на основе текста.
Поддерживаемые системы управления версиями
Для следующих систем управления версиями реализована интеграция с графическим интерфейсом:
- Git
- Bazaar
- Subversion
- CVS
- Mercurial (hg) (необязательный модуль)
- Perforce (начиная с 5.1)
Особенно полезно поле заметок (Annotate): оно показывает, кто и когда последним изменил строку. Чтобы увидеть изменения, в которых правка была внесена, достаточно одного щелчка!
Поддерживаемые системы сборки
Следующие системы сборки поддерживаются, а значит, KDevelop может автоматически получать из них цели запуска и сборки, а также пути включения:
- CMake
- QMake
- Собственные Makefile (частично)
- Универсальная система сборки (без автоматического определения путей включения)
KDevelop умеет вызывать такие инструменты автоматизации сборки, как make и ninja, для которых предусмотрены отдельные страницы параметров.
Возможности поддержки языков
Для всех поддерживаемых языков в KDevelop доступны следующие возможности:
Быстрая навигация по коду
Всплывающее окно виджета навигации появляется при наведении указателя мыши на элементы или при нажатии Alt, когда текстовый курсор находится на них. Виджет позволяет выполнять навигацию, то есть, например, можно перейти к родительскому классу просматриваемого класса, чтобы посмотреть виджет навигации этого родительского класса.
- Поиск использований символов (переменных, типов и т. д.)
- Переход к объявлению / определению
- Быстрый переход, позволяющий искать любую функцию, класс или файл в пределах проекта.
- Обозреватель проектов, классов и функций
Режим обзора кода (нажмите Ctrl при щелчке по символу) позволяет без труда просматривать незнакомую кодовую базу.
Превосходное понимание кода
KDevelop всегда гордился своей передовой поддержкой языков C/C++. С переходом на Clang в версии 5.0 разбор кода стал полностью корректным, а значит, среда разработки может точно находить ошибки в коде даже без вызова компилятора! Перечисленные ниже возможности доступны не только для C/C++, но и для всех поддерживаемых языков.
- Семантическая подсветка: подсветка, учитывающая семантику языка и, например, выделяющая имена классов иначе, чем имена переменных, даже если это нельзя определить по одному лишь синтаксису кода.
- Радужная подсветка: выделяет каждое вхождение одной и той же переменной определённым цветом, своим для каждой переменной. Попробуйте — со временем она непременно понравится. Необязательно.
- Контекстно-зависимое семантическое автодополнение кода: в KDevelop реализованы сложные эвристические алгоритмы, позволяющие предлагать наиболее вероятные варианты в текущей позиции курсора. Для Python, PHP и JS такие дополнения формируются на основе кэшированного представления кода KDevelop и потому доступны мгновенно — без заметной задержки.
Постоянный дисковый кэш для базы данных кода. В зависимости от размера и сложности проекта первый анализ может занять некоторое время, но после этого всё кэшируется на диске и загружается за несколько секунд при каждом последующем запуске среды разработки.
Настраиваемость
Простота настройки под собственный стиль!
- Свободное изменение порядка, включение и отключение любых кнопок на панели меню
- Произвольное разделение окна
- Произвольное расположение панелей инструментов в главном окне
- Свободно настраиваемая цветовая схема — отдельно для приложения и редактора.
- Позволяет назначить комбинации клавиш почти для каждого действия в среде разработки
Интеграция с документацией
KDevelop обеспечивает полную интеграцию с различными поставщиками документации. Поддерживаются следующие системы:
- Файлы документации QtHelp (QCH)
- Страницы руководства (те, которые можно просто просмотреть с помощью
manв командной строке) - Страницы справки CMake
Чтобы открыть страницу документации, достаточно навести указатель на символ и выбрать «Показать документацию для…»
Прочие мелочи
- Быстрый запуск и, как правило, небольшой объём занимаемой памяти.
- Как правило, приложение ведёт себя как простой текстовый редактор: например, достаточно выполнить в терминале команду kdevelop file.cpp, и файл откроется в текущем сеансе.
- Мощные фрагменты кода с полями шаблона и полной поддержкой сценариев (клавиша Tab переключает между полями пользователя, содержимое полей может задаваться сценарием и т. д.); их также можно показывать в списке автодополнения кода
- Мощный поиск и замена, в том числе по всему проекту, при необходимости — с регулярными выражениями
- Интеграция с модульным тестированием
- Панель «Проблемы» с фильтрацией, где показаны все проблемы (синтаксические и семантические ошибки, TODO и т. д.)
- Поддержка графического отладчика (C/C++ и Python, PHP через дополнительный модуль)
- Поддержка инструментов форматирования кода (несколько готовых для C/C++ и Python, а также собственные сценарии форматирования)
- Шаблоны файлов и проектов (дополнительные шаблоны можно загрузить или установить)
- Просмотр файлов практически любого типа в виде вкладки или документа внутри среды разработки с помощью KParts (например, PDF)
- Панель консоли
- Поддержка внешних сценариев
- Режим ввода, совместимый с Vim






