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 ()

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

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

Неа, он же скриптовой. Его исходник - это и есть бинарь.

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

он же скриптовой

Так оно же может быть скомпилировано, насколько я помню, разве нет?

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

Это видимо какой-то отдельный питон. Или мутки для того, чтобы скрыть код и запутать его. Обычно интерпретатор просто компилит скрипт в байткод на лету, и всегда просто файлу аттрибут на исполнение и #!/usr/bin/env python3 вверху, как и в башике.

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

Есть именно компиляторы питона, но они скорее мертвы, чем живы.

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

питон компилируют в *.pyc для скорости исполнения, это обычно делает IDE или setup.py. если рядом лежат исходники на питоне и соответствующие им скомпилированные pyc, то интерпретатор будет использовать бинарники до тех пор пока дата изменения на исходниках не станет новее чем на бинарниках.

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

P.S. удобно на оффтопике с автообновлениями? ;)

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

Глюков конечно поменьше стало с anniversary апдейтом, однако я все равно словил неприятный баг с сетевухой от интела, а в /r/windows10 каждый день посты про то как очередное обновление убило что-то в системе или саму систему.

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

Когда и если совсем отвыкну от игрулек, уйду либо полностью на линукс, либо вообще на мак. Моя текущая работа хоть и полностью завязана на виндовую экоссистему, все равно полностью делается на виртуалках или по rdp.

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

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

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

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

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

я даже не буду спрашивать ваши аргументы, потому что их не будет.

Подвисания редактора при автокомплите (оно, блджат, синхронное что ли в 2016 году), тормоза на моем рабочем компе (не жидея, конечно, но тормозит ощутимо, неприятно работать), дистрибутив в 16 гигов и никаких вменяемых вкусняшек, если ты не Professional Certified Microsoft .NET Developer™®©. Под c#+linq+mssql оно норм, наверное, но каких-то плюсов относительно других c-ide не увидел, кроме тормозов и дистибутива размером с две ос.

Ну разве что профайлер есть, нигде не тыкал профайлер больше, так как есть perf — нинужно.

Ах да, еще меня бесила дебильная система проектов — какое-то свое говно в своем формате, и непонятно, как туда opencl прикручивать, я пол дня убил на это. Но это индивидуально, конечно. Еще оно стартовало по пол дня, но это вопрос к тормозам.

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

Q_UNUSED

Q_UNUSED(document); // <- Что за костыль в тексте исходника на картинке ?

anonymous ()
Ответ на: Q_UNUSED от anonymous

Очевидно, же что так глушат warning'и.

EXL ★★★★★ ()

А можно ли в нём теперь, как в qtcreator'е, запустить отладчик произвольного приложения C/C++ (в том числе подключиться к работающему приложению), не заморачиваясь с созданием проекта для него?

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

судя по скриншотам, KDevelop догоняет 6ю версию вижуалов, + перетащил кое-какие фичи из sublime, и прокатился на фичах clang/llvm, которые в вижуалах 15 лет как есть, благодаря Visual Assist X.

Эти фичи имеются в 4-ой ветке kdevelop'а с дай бог памяти, 08 года. Просто раньше были реализованы без помощи clang.

например, в сравнении с VC++ — кодогенерация GCC где-то ниже плинтуса

можно примеры?

всякие KDevelop, clion и QtCreator - школьные поделки, в сравнении с :)

Вы оплатили их разработку? И да, не стоит быть столь категоричным в оценке инструмента, которым Вы не пользуетесь.

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

и мне забавно смотреть как школьники сравнивают профессиональный софт с KDevelop и подобным :)

окей, правильно будет сравнивать по пунктам: это (не)умеет VS, это Xcode, это KDev. Ваш ход, ждём.

PS: как сейчас не знаю, а лет 8 назад, XCode, по сравнению с KDevelop (ещё 3-ей ветки!), была невероятным гавном (извиняюсь, но из песни слова не выкинешь).

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

Да, лет 8 назад хакод был тем еще отстоем, да и сейчас встречаются проблемы, тормоза и неудобства. Почитай тред, все уже обсуждено.

waker ★★★★★ ()

А как вообще думаете, догонит ли когда-нибудь Kdevelop уровень тот же Clion или Visual Studio в плане юзабилити и красивости? Просто они как бы коммерческие продукты, а Kdevelop опенсурсный, причём разработчиков в Kdevelop очень и очень мало.

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

Моё мнение: надо ребятам из Kdevelop искать много больше разработчиков себе, искать спонсора. Пытаться выбивать у гугла участие в GSoC, может просить какие организации, чтобы выделяли денюжки(не знаю, KDE даёт деньги или нет). На эти бабки нанимать больше раработчиков. Только где такого спонсора найти...

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

уровень тот же Clion или Visual Studio

Догонит, если будет бежать назад очень долго.

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

Собственно, проблема решилась. Нашел готовый пакет в репозитории KDE:Unstable:Extra для суси. И, в отличие от appimage-пакета, - и qml-автодополнение заработало наконец-то, и тема кдешная отлично подхватилась, и стартовая страница появилась.

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

у VS есть VAX. по дефолту.

VAX это та кривая поделка, в которой не осилили сделать нормальный парсер плюсов, умеющий в overload resolution и оно (о ужас) предлагает заниматься этим resolution пользователю (пример: https://i.imgur.com/1aaEGla.png)?

Никакой надежности даже при навигации по коду нет у VAX, не говоря уже о каком либо рефакторинге.

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

Идиоты пахарукие.

Спасибо, КЭП. А что, разве эти люди не знают, что неиспользуемый в функции аргумент можно просто не именовать в списке формальных параметров, и не будет никаких варнингов ? (Это в абсолютно любом C++, даже самом древнем Borland Turbo C++ 1.01 от 1990 года).

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

Хлопотное дело нынче. Того и гляди начнут штамповать «улучшенные версии» каждый год.

anonymous ()
Ответ на: Идиоты пахарукие. от anonymous

А что, разве эти люди не знают, что неиспользуемый в функции

Там не функция, а скорее всего protected slot, КЭП.

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

В слотах (в отличие от сигналов) именовать параметры необходимо. Так была устроена мета-объектная система Qt 1-5, но эти костыли уже замещаются другим синтаксисом.

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

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

Разве что какая-нибудь крупная компания возьмёт KDevelop себе на доработку и наймёт тестеров (разрабов хватает) на зарплате, чтобы вычистили все сегфолты.

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

так они все равно буду поддерживаться: и текущая плойка и новая нео будет тянуть все доступные игры, так что в любом случае япошки не кинут в ближайшие года 3-4

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

А как найти такую компанию? Если бы компания оставила эту программу бесплатной и открытой, и занималась бы её развитием. Под крыло RedHat'у какому-нибудь. Просто мне кажется, что без поддержки компании Kdevelop угаснет.

Но должны же найтись фирмы, которые заинтересованы в хорошей IDE для C++(и не только) под Linux.

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

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

Сомнительно, что многим нужна IDE, прибитая гвоздями к KDE5.

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

Что мешает слинковать статически и просто распространять?

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

Сомнительно выбирать IDE по факту отсутствия прибития к ДЕ.

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

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

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

Сомнительно выбирать IDE по факту отсутствия прибития к ДЕ.

Это один из критериев. Если разрабы согласны провалить его, дело хозяйское.

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

мне кажется, это не критично. Гораздо более важный критерий, ИМХО, это поддержка стандарта, подсветка, возможности рефакторинга, поддержка компиляторов, cmake'ов всяких, нормальный дебаггер, не угрёбищный интерфейс.

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

Создал qt5/qml2 application - и мне в .pro зачем-то засунули declarative модуль вместо qml. Который и вовсе от qml1, и в 5.7 вроде выпилен.

Короче, фиксить-не перефиксить.

Это не проблема KDevelop, это просто старый шаблон. Сообщи им, пусть поправят.

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

А вообще быстрее всех стартует MS Visual Studio

2005ая? Или 6ая?

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

Твой VAX когда научится нормально парсить C++03? Даже не 11 или 14.

Сабж-то умеет.

Pavval ★★★★★ ()
Ответ на: Идиоты пахарукие. от anonymous

А что, разве эти люди не знают, что неиспользуемый в функции аргумент можно просто не именовать в списке формальных параметров, и не будет никаких варнингов ?

Кагбе именование параметров - это читабельность кода. Потому и нужен (void)inDummy или его аналог Q_UNUSED(inDummy).

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

В каком месте она быстрее всех стартует? QtCreator под линукс сильно быстрее стартует, kdevelop5 - тоже. А 13 студия - тормоз как тормоз. 10-ая была лучше.

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