LINUX.ORG.RU

KDevelop 5.1.0

 , , ,


0

7

Разработчики KDevelop анонсировали релиз новой версии кроссплатформенной IDE, предназначенной для работы над проектами на языках программирования C, C++, Python, PHP и JavaScript/QML. Код IDE распространяется под свободной лицензией и использует фреймворки KF 5 и Qt 5. Для тестирования возможностей нового KDevelop был приготовлен специальный AppImage-образ, который можно получить на странице загрузок.

Поддержка LLDB

В рамках мероприятия GSoC 2016 в KDevelop была реализована поддержка высокопроизводительного отладчика нового поколения LLDB, который развивается проектом LLVM. В результате выполненной работы, в IDE появился внутренний фреймворк отладки, который может быть использован как для взаимодействия с GDB, так и с LLDB MI. LLDB-плагин умеет напрямую общаться с драйвером LLDB MI (lldb-mi), что позволяет использовать LLDB в качестве альтернативного backend-отладчика. Кроме того, поддержка нового инструмента будет очень полезна для KDevelop на macOS и MS Windows, когда порт LLDB на эти операционные системы станет достаточно стабильным.

Режим анализа кода

KDevelop версии 5.1.0 получил новый пункт главного меню «Analyze», в котором сосредоточены различные инструменты для исследования исходного кода проектов. Несколько месяцев назад разработчики завершили интеграцию плагина поддержки анализатора cppcheck в репозиторий KDevelop, благодаря чему этот инструмент стал доступен в IDE «из коробки». Плагины для поддержки остальных анализаторов, таких как Valgrind, clang-tidy и krazy2, ещё не стабилизированы, поэтому они пока находятся в своих собственных репозиториях. Со временем ситуация может измениться и эти инструменты в новых версиях KDevelop станут доступны сразу после установки.

Поддержка OpenCL и грядущая поддержка CUDA

Теперь IDE может корректно разбирать и подсвечивать код, написанный на языке программирования OpenCL. Поскольку KDevelop перешёл со своего стокового парсера на тот, что развивается проектом Clang/LLVM, поддержка языка OpenCL досталась ему «в наследство». Изменения исходного кода KDevelop для обеспечения его корректной работы с OpenCL были минимальны. Кроме того, в версии 5.2.0 будет добавлена поддержка работы с файлами CUDA от NVidia.

Улучшенная поддержка языка Python

В KDevelop теперь поддерживается синтаксис и семантика языка Python версии 3.6. Благодаря работе Фрэнсиса Херна были исправлены различные долговременные проблемы в семантическом анализе Python-кода. Решение этих проблем позволило очистить код KDevelop от старых и плохо спроектированных конструкций, что значительно упростило внесение изменений и поддержку. Кроме того, была полностью переписана система проверки Python-кода на соответствие стилю кодирования PEP8, что сделало её быстрее и настраиваемее.

Интеграция Perforce

Благодаря Мортену Даниэльсену Волдену KDevelop 5.1 обзавёлся поддержкой коммерческой системы контроля версий Perforce, для работы с которой необходимо просто установить Perforce на компьютер и обеспечить возможность запуска исполнительного файла p4. Подобным образом организована работа и с другими VCS, например, Git и Bazaar.

Выбор цветовой схемы внутри KDevelop

Теперь можно выбирать цветовую схему из самого KDevelop. Реализацию подобной функциональности очень часто просило большое количество пользователей этой IDE. Если KDevelop запускался в окружении рабочего стола, отличного от KDE Plasma 5, то раньше это составляло определённые трудности, поскольку настройки цветовой схемы были недоступны. Теперь нет никаких препятствий для выбора любимой расцветки IDE.

Поддержка других платформ

Разработчики KDevelop постоянно работают над версией этой IDE для MS Windows и планируют выпустить первую версию KDevelop для macOS в ближайшее время. В релизе под MS Windows фреймворк KF 5 был обновлён до версии 5.32, а инструментарий Clang/LLVM до версии 3.9.1.

>>> Страница загрузки KDevelop

>>> Подробности

★★★★★

Проверено: jollheef ()

для работы над проектами на языках программирования C++, Python, PHP и JavaScript/QML.

KDevelop is a feature-full, plugin extensible IDE for C/C++ and many other programming languages.

newprikolist ()
Ответ на: комментарий от newprikolist

http://esxi.z-lab.me:666/~exl_lab/screens/kdevelop_languages.png

Надлежащей поддержкой «many other programming languages» KDevelop похвастаться не особо может. Она там на уровне подсветки и словарных дополнений. А сишку добавил.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

Особенно для Perl. Подсветка и та хромает, а про дополнение и речи нет.

newprikolist ()
Ответ на: комментарий от newprikolist

Перл такой язык, что тебе 50 разных вариантов дополнения предложить смогут, на монитор не поместится.

Valman_new ()

А выглядит всё также инопланетно... А киллер-фича студии PeekDefinition есть?

Stil ★★★★★ ()

Растет. Скоро уже можно будет пользоваться...

AVL2 ★★★★★ ()

Стоит пробовать с QtCreator на сабж спрыгнуть или не стоит?

Loki13 ★★★★★ ()
Ответ на: комментарий от Stil

А киллер-фича студии PeekDefinition есть?

Вряд ли. С первого раза не нашёл. А фича, кстати, крутая.

EXL ★★★★★ ()
Ответ на: комментарий от Loki13

Попробовать точно стоит. Потому что Qt Creator да KDevelop по сути единственные оставшиеся IDE для C и C++, которые хоть как-то развиваются. А вот насчёт спрыгнуть, это уже сам решай. Под C++ + Qt удобнее всё же Qt Creator.

EXL ★★★★★ ()

Ну вот. А то уже хоронить её начали. Хорошая IDE, жива и здорова.

Sunderland93 ★★★★★ ()

Зашел на загрузку, там

Mac OS (Preview Versions): No official prebuilt installers available yet, Build KDevelop from source

И каким красноглазым это нужно в таком виде?

MuZHiK-2 ★★★★ ()
Ответ на: комментарий от EXL

А там С++11 завезли? А то почти во всех редакторах приходится бодаться со всякими raw string literals. Вроде как netbeans неплох в С++11. Но и в нем время от времени ломается парсер на stl. Пускай С++ имеет реально переусложненный синтаксис, но блин, даже с ним человеческий разум 21 века должен был справится (в конце концов компиляторы же умеют). Ан нет, не справился. Деградация человечества какая-то, только джаву и осилили. Кстати в QtCreator еще и классы внутри функций не парсятся.

q0tw4 ★★ ()
Ответ на: комментарий от EXL

Потому что Qt Creator да KDevelop по сути единственные оставшиеся IDE для C и C++, которые хоть как-то развиваются

Неа. MSVS под оффтоп и Clion под онтоп.

moooV ()
Ответ на: комментарий от q0tw4

А там С++11 завезли?

Там libclang в качестве парсера.

Кстати в QtCreator еще и классы внутри функций не парсятся.

А у тебя стоковый парсер или Clang'овский в Qt Creator? Стоковый парсер хоть и врублен по дефолту, он давно уже Deprecated:

https://bugreports.qt.io/browse/QTCREATORBUG-17422

EXL ★★★★★ ()

Че там со швабодкой на github?

deity ★★★ ()
Ответ на: комментарий от moooV

и Clion под онтоп

У них глючный и самописный ANTLR вместо парсера. Можно сразу отправлять в печь, за стандартами они уже не поспевают, куча проблем парсинга, в которых погряз их трекер. Ребята решили, что смогут осилить написать парсер для крестолапши всех стандартов. Ну и Java со своей тормознутостью, хотя это ещё терпимо. Возможно, в будущем, когда они будут использовать тот же libclang, тогда они станут конкурентноспособны. Ну и выпустят Community-версию.

MSVS под оффтоп

Тут да конкурентов на оффтопе нету. Но то оффтоп.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Qt Creator да KDevelop по сути единственные оставшиеся IDE для C и C++, которые хоть как-то развиваются

Вранье. CDT тоже развивается.

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

А да, точно. Забыл про него, потому что редко пользуюсь. Хотя в последнее время меня не очень устраивает то, что творится с самим Eclipse'ом.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Clion... У них глючный и самописный ANTLR вместо парсера.

+1. JetBrains хороши только в джаве и в их родном котлине. Для остального не рекомендую.

q0tw4 ★★ ()
Ответ на: комментарий от EXL

Стоковый парсер хоть и врублен по дефолту, он давно уже Deprecated

Спасибо, не знал.

q0tw4 ★★ ()
Ответ на: комментарий от q0tw4

Да нет, там таки шланговый по дефолту. Лично у меня старый выбрать как раньше даже нельзя, сразу написано «выбран шланговый потому что плагин загружен».

Кстати, раньше шланговый в креаторе жутко тормозил, но сейчас стало норм. А вот в кдевелопе как раз он тормозит как в креаторе несколько версий назад.

wolph ★★ ()
Ответ на: комментарий от wolph

Да нет, там таки шланговый по дефолту.

Это если последние версии Qt Creator. В некоторых дистрибутивах там до сих пор Qt Creator со стоковым парсером по дефолту.

EXL ★★★★★ ()

на macOS и MS Windows, когда порт LLDB на эти операционные системы станет достаточно стабильным.

А сейчас lldb на macos нестабилен? Я думал, что это xcode не умеет толком с ним работать и не всегда может отобразить правильное состояние.

andreyu ★★★★★ ()
Ответ на: комментарий от EXL

Как я понял, мультикурсорность так и не запилена:

Так и не понял, в чем прелесть мультикурсора.

andreyu ★★★★★ ()
Ответ на: комментарий от q0tw4

А я думал, туда давно clang прикрутили в качестве парсера.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

Для редактирования XML'ок мне бывает полезен, ну и для всяких таких фич:

https://d3nmt5vlzunoa1.cloudfront.net/clion/files/2016/07/multiple_cursor_set...
https://d3nmt5vlzunoa1.cloudfront.net/clion/files/2016/07/multiple_cursor_tem...

В любом случае, лишним оно не будет.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)

Выбор цветовой схемы внутри KDevelop

ну все, можно пользоваться

clover ()

В нем допилили сборку проекта через кастом билд команд ? Когда я говорю что для сборки нужно выполнить вот такую команду и не нужно генерить всяких мейкфайлов ?

zaz ★★★★ ()
Ответ на: комментарий от EXL

Да кста, походу шланговый парсер в креаторе не умеет подсказывать сигналы и слоты и тормозит прилично (хорошо хоть не останавливает редактирование текста). Узаю версию 4.2.0 ручной сборки, если что.

q0tw4 ★★ ()
Ответ на: комментарий от zaz

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

XMs ★★★★ ()
Ответ на: комментарий от XMs

Ну в принципе тоже вариант, главное чтоб он не пытался парсить этот Makefile и править его.

Нужно будет попробовать в 5 раз на него перейти, както все предыдущие попытки у меня успехом не завершились - сейчас в основном в CDT код пишу

zaz ★★★★ ()

Код IDE распространяется под свободной лицензией

Почему нельзя было сразу написать, что это GPL 2?

anonymous ()
Ответ на: комментарий от anonymous

Потому что иначе ты бы не написал этот комментарий.

EXL ★★★★★ ()
Ответ на: комментарий от MuZHiK-2

планируют выпустить первую версию KDevelop для macOS в ближайшее время

новость до конца дочитать религия не позволяет?

anonymous ()

Чем оно лучше\хуже QtCreator'a?

Landgraf ★★★ ()
Ответ на: комментарий от Landgraf

Примерно такое же, наверное. Давно QtCreator'ом не пользовался

XMs ★★★★ ()
Ответ на: комментарий от Landgraf

Ну, к примеру он умеет в питон (но не умеет в qbs). Но вышеупомянутым питоном (на 5.0.x) я так попользоваться и не смог - крашится при создании проекта.

wolph ★★ ()
Ответ на: комментарий от EXL

Жалко. Уже лет 12 жду её в KTextEditor (Kate/KWrite/KDevelop).

kate: ctrl + shift + b (по дефолту), после этого с зажатым shift можно двигать курсор вверх/вниз и будет мультикурсор.

alarm ()
Ответ на: комментарий от wolph

Кстати, раньше шланговый в креаторе жутко тормозил, но сейчас стало норм.

Если бы норм, тормозит как и раньше. Ждать по две секунды пока откроется подсказка ещё то удовольствие. Насколько я понял эта задержка у них принудительна, чтобы не запускать компилятор каждые несколько милисекунд. Пришлось ревертнуться на их стоковый, он хоть и глючный, зато реактивный.

Dendy ★★★★★ ()
Ответ на: комментарий от alarm

Это не мультикурсор, а простейший Column Editing. Если бы и этого в Kate/KDevelop не было, вообще был бы (смех).

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Для редактирования XML'ок мне бывает полезен, ну и для всяких таких фич:

Все равно приходится тыкать мышой в каждый элемент. Не вижу, чем это лучше «повторить действие» и/или «выполнить макрос» в vim.

В любом случае, лишним оно не будет.

Ну только если так.

andreyu ★★★★★ ()
Ответ на: комментарий от q0tw4

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

А откуда ему знать, во что должен превратиться код после отработки мета-компилятора?

andreyu ★★★★★ ()
Ответ на: комментарий от q0tw4

А почему шланг должен уметь в Кутю код без мока?

anonymous ()
Ответ на: комментарий от anonymous

Планировать можно бесконечно долго, результата нет пока.

MuZHiK-2 ★★★★ ()
Ответ на: комментарий от EXL

Это не мультикурсор, а простейший Column Editing. Если бы и этого в Kate/KDevelop не было, вообще был бы (смех).

Да, ты прав. Не получается там разрывы делать, только целиком блок.

alarm ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.