Разработчики KDevelop рады сообщить, что спустя два года после выхода KDevelop 4.7 состоялся релиз новой версии кроссплатформенной IDE, предназначенной для работы над проектами на языках программирования C++, Python, PHP и JavaScript/QML. Помимо портирования KDevelop на новые фреймворки KDE Frameworks 5 и Qt 5 был проведён рефакторинг кодовой базы и добавлены многочисленные изменения, благодаря которым KDevelop в будущем можно будет легко расширять, постепенно наращивая его функциональность.
Скриншоты KDevelop: GNU/Linux, macOS, Microsoft Windows.
Основные изменения включают в себя значительно улучшенную поддержку языков программирования C и C++ в соответствии с их современными стандартами, а также полировку поддержки Python, PHP и JavaScript/QML.
Наиболее важным изменением является отход от собственного механизма анализа C++ в пользу Clang. Помимо того, что с интеграцией Clang код стало значительно легче поддерживать, переход на него дал несколько явных преимуществ:
- Даже самые сложные конструкции кода на C++ теперь точно анализируются и правильно подсвечиваются. Если код не будет компилироваться, фоновый компилятор в KDevelop обязательно оповестит об этом.
- Диагностика кода стала намного точнее и надёжней. Например, KDevelop теперь может обнаружить, будет ли функция с разными параметрами, но одинаковым именем являться перегруженной или нет.
- Для различных типовых ошибок, вроде орфографических неточностей, отсутствующих скобок или недостающих точек с запятой, KDevelop теперь предлагает пользователю сочетание клавиш (Alt + 1), которое позволяет автоматически исправить ошибку.
- Теперь доступен режим разбора кода на языке программирования C, который включается, когда это необходимо.
В данный момент всё ещё продолжается работа над старыми утилитами для C++ для того, чтобы они хорошо интегрировались в новую инфраструктуру. Но большинство важных вещей уже присутствуют в текущей сборке KDevelop. В отличие от поддержки C++, поддержка Python не претерпела каких-либо значительных изменений, кроме стабилизации и полировки. То же справедливо и для PHP, и для компонентов, отвечающих за поддержку JavaScript/QML.
Благодаря портированию на KF5, в скором времени появятся сборки KDevelop для macOS и MS Windows. Кроме того, разработчики представили для дистрибутивов GNU/Linux уже настроенный пакет AppImage, включающий в себя все необходимые зависимости.
Более детально новые изменения в KDevelop описал один из его разработчиков, Kevin Funk в своём блоге.