LINUX.ORG.RU

Релиз KDevelop 5.0.0

 , , ,


0

6

Разработчики 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 в своём блоге.

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

>>> Релиз KDevelop 5.0.0

★★★★★

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

Ответ на: комментарий от trycatch

Не подсвечиваются измененные/удаленные/новые строки

Только что проверил — жмёшь «закоммитить», всё подсвечивает.


В историю лучше вообще не лезть, Kdevelop подвисает на минуты

Это проверить не могу, под рукой нет настолько крупных проектов

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

А вот люди, которые пользуются, с тобой не согласны.

и ты не считаешь отказ пользоваться VAX неадекватностью?

Тем более, что MSVS + VAX уже и не совсем MS.

а чем обусловлено требование, чтобы все было только MS?

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

Только что проверил — жмёшь «закоммитить», всё подсвечивает.

А другие IDE (и даже большинство текстовых редакторов) подсвечивают все время. А при нажатии «закоммитить» он просто показывает выхлоп git diff.

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

Ну давай сравнивать даже VS+VAX. Даже с этим костылем она будет отставать от полноценных IDE.

https://www.jetbrains.com/resharper-cpp/documentation/resharper_cpp_vs_visual...

Обрати внимание на «No matching functionality».

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

Что ж ты тогда о пользователях Eclipse скажешь? Идея самая быстрая среди IDE для java разработки. И да, идею можно поднастроить и она немного ускорится.

заранее прошу прощения, что отвечаю на вопрос, не адресованный мне, но я как раз использовал AndroidStudio и Eclipse на одном и том же проекте (java/android) в течение не очень продолжительного периода времени, поэтому есть что сказать :)

Eclipse юзал >5 лет, а потом попытался перейти на AndroidStudio, по понятным причинам (если они вам неизвестны, то я могу подробнее рассказать).

тормозят и глючат они примерно одинаково, хоть и в разных местах.

интерфейс/юзабилити ужасны в обоих, хоть и сделано все совсем по разному.

интерфейс AS выглядит/работает приятнее чем Eclipse, но и это «приятнее» далеко от того, что хотелось бы от IDE.

проработать даже 20 минут, чтобы что-то не упало, зависло, потеряло коннект с девайсом, перестало собирать проект, и т.п. — нереально.

на несколько дней меня хватило. я даже не заикаюсь о всепоглощающих тормозах - тут дело до попыток решения тормозов даже не доходило.

в итоге, потратил 3 вечера, переделал проект под gradle, добавил туда все нужное, типа signing, proguard, и т.п., и написал makefile, который позволяет собирать release/debug, clean, деплоить, ре-деплоить, запускать на девайсе, и т.п.

после этого проблем не знаю.

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

по ссылке сравнение VAX с ReshaperCPP. оба для VS.

что мешает тебе использовать ResharperCPP, если тебе нужно что-то из фич, которых не хватает в VAX?

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

Там есть подсветка изменённых строк с момента открытия и последнего сохранения. В четвёртой версии, помню, было что-то связанное с просмотром изменений в файле, но в пятой этого пока нет

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

Расскажи как замерить этот лаг, а то нам «затарможенным» его не видно.

Да я даже специально сейчас мультики всем неверующим записал.

Итак. Берём в правую руку:
1. CLion (или IDEA, или Android Studio (специально проверил во всех трёх — одно и то же); я взял CLion);
2. Eclipse CDT -> ADT;
3. Qt Creator.

Берём в левую руку какой-нибудь огромный файл по количеству строк.
Вот это говно: https://github.com/EXL/KenLab3d/blob/master/jni/src/KenLab3D/subs.c как раз сойдёт.

Берём в среднюю руку i7, SSD, 32 GB RAM и прочий фарш.

Первым делом открываем весь проект в Qt Creator и этот файл в нём. Он моментально открывается, парсинг всего C-кода и построение AST занимают где-то секунду, а то и меньше. Идём в конец файла, начинаем ввод:

http://baat.z-lab.me:666/~exl_lab/movies/ide-speed/qtc.webm

Идеальная отзывчивость, абсолютно никаких тормозов ввода. Ок. Вспоминаем, что в Qt Creator нельзя даже сделать вкладки, вздыхаем и переходим в Eclipse.

Чистый он запускается секунды четыре. Открываем проект. Там используется Android NDK и Android SDK сразу, поэтому парсинг всего этого стаффа занимает где-то секунд 15. Далее открываем наш говнофайл, «подвисон» при его открытии на 3 секунды заставляет задуматься о худшем. Переходим в самый конец файла, начинаем набор кода:

http://baat.z-lab.me:666/~exl_lab/movies/ide-speed/eclipse.webm

И что же мы видим? Отклик просто замечательный. Мне даже показалось, что Eclipse тут работает быстрее, чем Qt Creator! Никаких тормозов на вводе, что удивительно и почтительно для Java-приложения, в особенности для IDE.

Идём в CLion, запускается он (с открытием проекта) секунд 20-25. Дальше начинается парсинг проекта, для такого небольшого он проходит за 20 секунд. Неплохо для IDE на Java. Открываем говнофайл, получаем аналогичный Eclipse'овому подвисон на 3 секунды на открытие. Далее ждём окончания анализа, чтобы в углу редактора загорелся квадратик, и не было глазка. Идём в конец файла, начинаем набирать код:

http://baat.z-lab.me:666/~exl_lab/movies/ide-speed/idea.webm

Всё начинает тормозить, буквы «пролетают мимо», дичайший лаг на вводе кода. Я специально даже линейку с кнопками демонстрирую, чтобы не было «это просто ты медленно набирал». Там видно, как CLion «думает» вместо того, чтобы вставлять эти чёртовы буквы в редактор. Это говно начинает настолько раздражать, бесить и нервировать, что дропаем CLion по Alt+F4 и пишем сюда этот пост.

Кто там с JetBrains аськается, отправьте им эти мультики, пусть фиксят свой редактор. Смешно просто. И если бы дело было в таких «больших и говнистых» файлах, как мой. Так нет же, я недавно кодил в Android Studio, 1000 строк, Java — начинается такой же лаг.

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

красавчик! этот пост надо прикрепить в development :)

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

Идея самая быстрая среди IDE для java разработки.

Сомнительно. Смотри мой пост выше. Eclipse не тормозит на вводе. Уже за это он предпочтительнее, чем IDEA. Несмотря на её мощь и функциональность.

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

Ну во, другое дело!

Надо дома тоже попробовать повторить. То что на последнем видео очень похоже на багу. Это мак?

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

Вот мне тоже интересно теперь стало. Будет время сравню как наш проект в эклипсе бегает.

Я слез с эклипса уже давно, и когда слезал, он тормозил безбожно на том проекте, а идея летала.

Кстати, а сколько памяти в CLion-е выделено? Я идее всегда добавляю сверху дефолта еще метров 512 и она заметно шустрее работает.

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

Я пока всё это сравнивал на GNU/Linux с Oracle JRE/JDK:

$ java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

На macOS и MS Windows аналогичное поведение, это я точно помню потому как IDEA там точно так же тормозила при вводе, а работал я с ней довольно много в т. ч кросс-платформенная разработка на тачках с разными OS.

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

Ок...занятно

Хм, смотри - багрепорт как раз на эту проблему, как раз про clion.

https://youtrack.jetbrains.net/issue/CPP-988

До сих пор не смогли пофиксить.

Я накатил по-быстрому клеёнку на рабочей машине (i3, 32gb), импортировал сишную часть твоего проекта. Т.к. сями и крестами и тем более андроидом я не занимаюсь, у меня само собой оно распарсилось с миллионом ошибок (я разве что mingw64 поставил).

Но по факту могу пока что подтвердить, есть лаг. Посмотрю потом на домашнем (там i7 и 16gb)

Интересно то, что здесь же аналогичного поведения в идее я не наблюдаю - всё гладко. Другое дело, что файлы по 7к строк на яве ты хрен где встретишь, сложно такой кейс будет протестировать :)

(в основном проекте на шарпе разгребаю легаси с методами по 1000 строк, вою от боли)

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

Кстати, а сколько памяти в CLion-е выделено? Я идее всегда добавляю сверху дефолта еще метров 512 и она заметно шустрее работает.

А не в памяти дело, это маленький проект. Даже если я открою все файлы проекта во вкладках то не забью и 15%.

Дело в нагрузке на CPU. При вводе общая поднимается до 50-70%

Сейчас открыл Android Studio на ноуте и свой небольшой проект на Java с 1К файлом. Жду, когда проиндексируется. Начинаю вводить текст, смотри какой БАГОР))) появляется на графике. Останавливаюсь, нагрузка плавно снижается.

http://wstaw.org/m/2016/08/25/Screenshot_20160825_213842.png

Ноут на i3 @ 6GB RAM.

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

Другое дело, что файлы по 7к строк на яве ты хрен где встретишь,

На вскидку — Java-файлы Android API и сорцы JDK. Там же документация ещё.

Но наверное понятно, что «греет процессор и ссд по каждому нажатию» не канвас с буквами. Инспекций всяких со своими моделями у идеи наверное больше, чем у других (опять же по студии с решарпером и без заметно)

Ну как знать, как знать. Рисовка на канвасе вещь тоже весьма затратная, особенно если файл большой. Мои часики на кривых Безье на такой прелести как JavaScript обсчитывают простейшей интерполяцией значения кривых и рисуют их на экран 60 раз в секунду, нагружая CPU на 6-7%. Если поднять FPS до 250, то нагрузка будет уже 16%. А если снизить его до 25, будет всего 3-4.

В канвасе редактора IDEA должно быть где-то 40-60 FPS, чтобы не было всяких подлагиваний. Но лагает оно только при вводе. В момент простоя нагрузка совсем небольшая, но есть конечно.

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

там вообще не должно быть никаких FPS — в текстовых редакторах отрисовка on-demand, а не continuous refresh

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

в текстовых редакторах отрисовка on-demand, а не continuous refresh

Да, ты конечно же прав, я тут ступил. Но по ощущением оно реально будто continuous refresh. Ведь что-то там всё равно вертится в аналоге while(true)? Потому что даже просто открытый редактор IDEA в фокусе даёт 1-5% на CPU. А вот другие не дают. Двигаю курсором мышки по кругу над полем кода — нагрузка увеличивается до 10%. Мистика!

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

Ведь что-то там всё равно вертится

говнокод там вертится..

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

Вот смотри, записал видос, в идее ничего не тормозит. Хотел замерить задержку по кадрово, но видос получился с переменным framerate так что не понять сколько в секундах три кадра. https://box.unet.by/f/12/12540_c56.mov

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

а если вместо идеи взять clion или android studio? на самом деле интересно, есть ли связь.

и закономерный вопрос, можно ли использовать идею вместо android studio, и если да — не появятся ли все эти лаги, после установки нужных компонентов.

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

Вспоминаем, что в Qt Creator нельзя даже сделать вкладки, вздыхаем и переходим в Eclipse.

поначалу тоже горевал что нет в Qt Creator вкладок
а потом понял что ненужны эти вкладки, ибо файлов открыто обычно много и смысл вкладок теряется, зато есть история файлов списком, есть переход вперед\назад, есть поиск

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

IDE Jetbrains на os X нативны , правда и на другие системы должны быть тоже.

У меня есть предположение что дело в графическом сервере Xorg , зайдя в туже консоль из под Wayland чувствуется просто ошеломительная скорость набора и очень низкая нагрузка процессора программами , на иксах к примеру они могут нагружаться просто от проведениями по ним курсора (Не сарказм)

К сожалению моя плазма запускается на Wayland полумёртвой , и через пару секунд умирает полностью

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

IDE Jetbrains на os X нативны , правда и на другие системы должны быть тоже.

ну если жаба — это «нативны», то да.

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

забыл сказать: я наблюдал такие же тормоза в android studio и eclipse на макоси и венде, ну и на линуксе, конечно, тоже.

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

А описание функции во всплывающем окошке на скриншоте откуда идет, doxygen?

normann ★★ ()
Ответ на: Ок...занятно от Midael

Ну в общем на i7 тоже тормозит в clion.

видео (только предпросмотр не смотрите, там шакалы пожали всё.

У меня штуковины для отображения нажатий нету (под винду так и не нашел в гугле ничего), поэтому для сравнения сначала набор в идее, а затем в clion, думаю разница налицо.

Особенно я прифигел с полуторасекундной задержки при нажатии enter после постановки фигурных скобок (ну и с того факта что прилетела одна лишняя скобка почему-то)

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

clion я не пробовал, android studio работает также как и idea, наверное потому что не может распарсить этот проект, там нужно с gradle ковырятся чтобы включить интеграцию плюсов.

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

да, похоже это особенность clion, толи его не доделали еще, толи плюсы слишком сложные для модели jetbrains. На других языках все работает отлично, например плагин для go просто летает.
P.S. удобно на оффтопике с автообновлениями? ;)

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

йопт, я же писал уже тыщу раз, что тормозит в AndroidStudio _всегда_, даже на жабе, даже на пустом файле. в точности так как на видео продемонстрировано (кроме содержимого файла).

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

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

может стоит попробовать без виртуалок? :D

а смысл? если у меня почти везде gentoo? меня почти устраивают anjuta, qt-creator (лучше бы был qt-Kreator, кстати стоит послушать kreator через deadbeaf? :-) ) и mcedit.

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

ну как же.. виртуалка.. безалкогольное пиво.. резиновая женщина..

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

ну как же.. виртуалка.. безалкогольное пиво.. резиновая женщина..

:-)

не. винду только в виртуалке держать - уж больно она раздражает. без cygwin и far там жизни нет,

а про пиво лучше у Шамана спросить (он в лучшую пивную страну свалил.) а безалкогольное - это к Чаку Норрису.

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

Вот кому нужен циквин, когда есть нативные mingw-w64 и msys2? А фар почему-то сливает midnight commander по юзабилити, даже не знаю.

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

Ok, ты победил. Теперь я знаю, на какой шкаф нужно залезть, чтобы найти в Clion-е тормоза. Кстати, при удалении текста тормозов нет, только при наборе, и только на самом высоком уровне.

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

рефакторинг в хкоде это один убогий ренейм, который в половине случае просто не рабоет. аппкод просто на недосягаемом уровне по рефакторингу для хкода

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

жестко да. но есть ли практическая польза ? кто-то открывает файлы по 7к строк?

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

https://www.dropbox.com/s/mj4zk77ywpukcs7/test.mov?dl=0

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

а что за программа для показа наборанного текста? и что за иконка планшета в менюбаре(слева от вайфай) ?

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

по поводу хкода еще: если б в нем там адово не тормозили вкладки - цены б ему не было.

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

ну если жаба — это «нативны», то да.

Ну то что java кроссплатформенная я знаю ) Просто у разработчиков больше опыта разработки на os X

Ну раз тормоза у всех по разному появляются не зависимо от : графического сервера , ОС , версии Java runtime и мощного железа то остаётся только «спецефичное железо» на котором программа не тормозит , драйверы (Ну а вдруг) и фазы луны . Других объяснений у меня нет )

Там кстате QtCreator 4.1 вышел , в новостях еще нету

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

Ты видел сколько у тебя на видео ошибок в коде? У меня есть теория что в твоем случае тормозит отрисовка красных волнистых линий и красных обычных линий поверх скроллбара. По хорошему jetbrains должны сделать ограничение, например если в файле больше 100 ошибок, то тупо забивать на дальнейший парсинг и отключать умные дополнения. А так оно похоже на каждое нажатие кнопки проверяет исправил ли ты хоть одну из тыщи ошибок и перерисовывает красные полоски.

что за иконка планшета в менюбаре

Квадратная картинка это KeyCastr, а планшет это ClipMenu, хранит историю буфера обмена.

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

LnF может нативные вещи использовать.
Как например GTK+ LnF.
Как там в яблочной операционке я хз, но вполне может быть, что используют.

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

Вероятно, добавить поиск Qt5::Declarative в CMakeLists.txt

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

Ну то что java кроссплатформенная я знаю

При чём тут кроссплатформенность? Он тебе про то, что жаба работает в виртуальной машине, а не нативно

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

Но там просто сырцы на питоне, которые не нужно никак собирать. Так что и никакого CMakeLists.txt нет.

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

на питоне

Увы, с питоном не работал. Думал, там такая же схема (сборка и запуск бинаря)

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

Ну вот для питона импорты и автодополнение нормально работает. А для qml - хрен там. Так не хочется qtcreator отдельно для qml держать.

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