LINUX.ORG.RU

KDevelop 4.2

 , , , , ,


0

3

Сегодня одновременно с KDE SC 4.6 был анонсирован выпуск версии 4.2 популярной среды разработки KDevelop и сопутствующих ему модулей KDevelop-php. Главным новшеством версии является поддержка интерфейса KTextEditor::MovingInterface из Kate, благодаря чему стало возможным использовать KDevelop в свежевышедшем KDE 4.6.

Среди изменений по сравнению с предыдущей версией стоит отметить:

  • улучшенный модуль QtHelp теперь позволяет подключать сторонние файлы справки .qch, благодаря чему стало возможным пользоваться документацией kdelibs или libstdc++ прямо в IDE;
  • добавлен новый модуль поддержки man-страниц документации;
  • поддержка поиска и замены в файлах (ранее возможность замены отсутствовала);
  • функция Problems теперь показывает TODO и FIXME в коде;
  • добавлена фильтрация в дереве проекта;
  • реализовано открытие файлов проекта во внешнем приложении (например, в QtDesigner для .ui файлов);
  • внесён ряд улучшений в поддержку С++ (разбор макросов), CMake (работа с файлами) и PHP (семантическая подсветка переменных);
  • исправлено много ошибок.

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

★★★★★

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

> в KDevelop не хватает дизайнера

Могу допилить...
У них там (когда смотрел последнюю версию месяца 2 назад), совсем мало не хватало до полного функционала.

zJes ★★
()
Ответ на: комментарий от Obey-Kun

Не доделали, а просто догнали до 81% (нужно было 75% в KDevPlatform). И ошибки в ней сейчас есть (как минимум, несогласованность терминологии).

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

>Чего жесть? Во множественных файлах, а не в одном.
Я догадался. Но это всё равно жесть. Эта фича не в 4.2 должна была появиться, а в 1.0.

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

> QtCreator сливает по полной у KDevelop по поддержке C++ (семантическая подсветка, автодополнение).

Не понял.

1. Что такого есть в семантической подсветке КДевелопа, чего нет в Крейторе?

2. Что не устраивает в автодополнениии Крейтора?

По первому пункту я не нашел в треде конкретики. По второму было только про сигналы-слоты, с чем я, в общем, согласен, но во-первых это не C++, а во-вторых там зато клевый интерфейс для сигналов-слотов в дизайнере (сам не пробовал, гуями не занимаюсь)

Согласно моему опыту, во всех аспектах программирования (на C++) Крейтор на три порядка лучше Девелопа. Не встречал людей, пользующихся Девелопом, кроме тех, кто сильно привык к нему еще с прошлой версии.

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

>Отладчик для C++ все также не работает. Или я что-то делаю не так?

Все делаешь так:) Только плиз запили баг, даже если он окажется дубликатом.

Такая проблема (порой нельзя зайти внутрь классов/структур) есть, подтверждаю.

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

>Всплывающей не помню, а вот автодополнение в QtCreator'е чем не нравиться.

1. В сабже есть полноценный парсер, который «lightning years behind» того, что есть в QtCreator (текст в скобках - цитата из kdevelop-devel). Потому на сложных конструкциях не лажает.
2. Сабж в автодополнении показывает сначала наиболее подходящие элементы (например, подходящие по типу). Очень удобно.

Мне приглянулось дополнение внутри SIGNAL и SLOT показывающее только доступные сигналы и слоты.


Есть и тут такое.

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

>Не понял.

1. Что такого есть в семантической подсветке КДевелопа, чего нет в Крейторе?


Она в QtCreator синтаксическая, а не семантическая.

2. Что не устраивает в автодополнениии Крейтора?


Она работает неправильно в сложном коде.

По второму было только про сигналы-слоты, с чем я, в общем, согласен, но во-первых это не C++, а во-вторых там зато клевый интерфейс для сигналов-слотов в дизайнере (сам не пробовал, гуями не занимаюсь)


Расширения Qt поддерживаются.

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

Вроде уже есть похожий баг в базе.


Мой:)

Блин, когда у меня будет время... Надо cmake_minimum_required и cmake_policy сделать, потом еще это посмотреть.

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

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

>Вот раз ты так хорошо в предмете разбираешься, сделай пожалуйста кратенькое сравнение. Кратенькое, но поразвернутее чем Анюта - УГ, Кдевелоп - РФ.

Анюту вижу первый день, потому сори если что:

1. cmake не поддерживает. Кому надо, кому нет. Просто заметил:) Зато KDevelop кроме cmake практически ничего не поддерживает (хотя qmake активно пилят, и custom makefiles вроде тоже есть).
2. Создал hello world. Всплывающие подсказки о значении переменных скорее не работают, чем работают. Что-то непонятное.
3. Пишу неправильный код (использование не определенной переменной). Кто мне его подсветит как некорректный до компиляции? Правильно - никто. А kdevelop умеет.
4. Автокомплит не работает. ВООБЩЕ. Хз почему. Поэтому сложно сказать, насколько он уступает KDevelop (вот такой я самоуверенный).
5. нету семантической подсветки кода (каждая переменная отображается своим цветом, что позволяет очень классно ориентироваться в коде).
6. Нету rename refactoring. Я его так любил...
7. Только что нажал какую-то кнопочку на тулбаре и он упал. Жаль.

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

> Она в QtCreator синтаксическая, а не семантическая.

Есть семантическая как минимум с октября: http://labs.qt.nokia.com/2010/10/07/qt-creator-2-1-0beta/. И ничего, что бета (с тех пор вышел уже RC). У Крейтора ночные сборки стабильнее релизов Девелопа.

2. Что не устраивает в автодополнениии Крейтора?

Она работает неправильно в сложном коде.

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

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

>> Она в QtCreator синтаксическая, а не семантическая.

Есть семантическая как минимум с октября: http://labs.qt.nokia.com/2010/10/07/qt-creator-2-1-0beta/. И ничего, что бета (с тех пор вышел уже RC). У Крейтора ночные сборки стабильнее релизов Девелопа.


В анонсе вижу, а в Qt Creator - нет (Qt Creator 2.1 RC1). Но при выделении переменной подсвечивает ее в других местах в коде. Где rainbow colors? Какая без них семантическая подсветка, если все переменные/классы и т.д. отображаются одним цветом?

Я такого кода не встречал (если не считать дикого количества макросов, но тут сами виноваты).


Шаблоны в первую очередь (поиграйся со специализациями). Пытаться подобрать совместимые по типу даже не пытается - показывает всю простыню. Показать тип переменной в списке при автодополнении не умеет.

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


Только что тестил перед ответом.

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

> Где rainbow colors?

Это когда все на свете раскрашено уникальными цветами? Этого нет. Честно говоря, не представляю, зачем это может быть нужно (правда, не видел в деле). Для различения локальных переменных между собой можно использовать их имена. Когда припрет - встать курсором в интересующую переменную.

Какая без них семантическая подсветка, если все переменные/классы и т.д. отображаются одним цветом?

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

Шаблоны в первую очередь (поиграйся со специализациями)

Спасибо, не буду. Поверю.

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

>> 2. Что не устраивает в автодополнениии Крейтора?

Она работает неправильно в сложном коде.

А примеры есть? А то я как то даже потерялся. Что бы такое подсунуть, что креатор облажался.

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

>> Отладчик для C++ все также не работает. Или я что-то делаю не так?

а он вообще работал когда-нибудь ?

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

>>Всплывающей не помню, а вот автодополнение в QtCreator'е чем не нравиться.

1. В сабже есть полноценный парсер, который «lightning years behind» того, что есть в QtCreator (текст в скобках - цитата из kdevelop-devel).

Либо что-то не так с твоей цитатой, либо с парсером Kdevelop.

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

>А примеры есть? А то я как то даже потерялся. Что бы такое подсунуть, что креатор облажался.

hint: шаблоны со специализациями.

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

>Это когда все на свете раскрашено уникальными цветами? Этого нет. Честно говоря, не представляю, зачем это может быть нужно (правда, не видел в деле).

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

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


Можно, но с цветом - лучше.

Когда припрет - встать курсором в интересующую переменную.


Лишние движения.

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


Хм. Правда, согласен.

Раскрашивание разными цветами неотличимых семантически сущностей не является таковой.


Является. Вот есть две переменные a - одна глобальная, вторая локальная. Подсвечиваются (как определения так и использование) разными цветами, потому что это это разные переменные. Что это, как не семантическая подсветка?

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

>Так как насчет «парсер, который light years behind того, что есть в QtCreator»?

Парсер, который существенно впереди парсера QtCreator. Я что-то не так написал?

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

>> Так как насчет «парсер, который light years behind того, что есть в QtCreator»?

Парсер, который существенно впереди парсера QtCreator

«Behind» - это «позади.

Я что-то не так написал?

Я это и пытался выяснить.

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

Черт, пока на курсы английского опять идти. Нафиг забыл. А точную цитату найти не смог, потому писал по памяти.

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

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

Закинул,

Milian Wolff <mail@milianw.de> changed:

          What    |Removed                     |Added
----------------------------------------------------------------------------
          Priority|NOR                         |VHI
            Status|UNCONFIRMED                 |NEW
    Ever Confirmed|0                           |1
          Severity|normal                      |major
Будем ждать.

Pavval ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

>А я как раз наоборот, жду когда ж QtCreator дорастёт до уровня KDevelop, то есть когда ж там появится нормальная всплывающая информация и автодополнения.

В 2.1 дополнения стали нормальнее

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

>Только плиз запили баг, даже если он окажется дубликатом.

Вредные советы даешь? Там же голоса были вроде

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

>Так и не смог собрать плагин для QMake

Его, думаю, допилят к след. релизу. Шевеление (в виде пачки студентов из Тулузы) по этому направлению присутствует. Причем студенты работают не just for fun, а just for зачет, что дает бОльшую продуктивность:)

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

если бы всех студентов айтишных специальностей кидали допиливать опенсорс-проекты, вендокапец наступил бы раньше, да...

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

>Так и не смог собрать плагин для QMake

Собрать я собрал, я только не могу пока разобраться почему kdevelop его не хочет грузить.

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

>Его, думаю, допилят к след. релизу. Шевеление (в виде пачки студентов из Тулузы) по этому направлению присутствует. Причем студенты работают не just for fun, а just for зачет, что дает бОльшую продуктивность:)

Хорошая новость

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

>А как у сабжа дела с кросс-компиляцией и кросс-отладкой?

Средствами cmake можно обеспечить кросскомпиляцию, debugger executable и debugger shell тоже можно задать. Думаю этого достаточно.

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

Кстати я только что смог успешно собрать проект с помощью qmake. Так что он скорее живой.

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

>> А как у сабжа дела с кросс-компиляцией и кросс-отладкой?

А это что, забота IDE?

Ну то есть ты тоже не пробовал.

P.S. Как минимум отчасти, кросс-компиляция - это забота IDE (нет, я не стану тебе объяснять, что именно IDE делает для этого).

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

попробую, спасибо

хотя всё же хочется надеяться на исправление багов kdevelop

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