LINUX.ORG.RU

KDevelop 4.3

 , , , , , ,


0

2

Cостоялся выход версии 4.3 интегрированной среды разработки KDevelop. Как обычно, в релиз вошел ряд новых возможностей, а также исправления ошибок и улучшения производительности.

Неполный список изменений:

  • Поддержка С++11.
    Новая версия стандарта теперь частично поддерживается в KDevelop. Парсер теперь поддерживает такие новые возможности языка, как списки инициализации, лямбды, for-циклы по коллекции и шаблоны с переменным числом аргументов. Также поддерживаются =default и =delete методы, auto, ссылки на временные объекты (rvalue-references) и много другого. Тем не менее, С++11 включает много изменений и некоторые из них еще не поддерживаются. Разработчики ставят за цель улучшить поддержку в последующих релизах, чтобы сделать KDevelop отличной средой для разработки с использованием C++11.
  • Восстановление состояния редактора.
    С выходом версии 4.3 разработчики синхронизировались с Kate по функционалу работы с файлами: свернутые блоки кода, закладки и прочее теперь корректно восстанавливаются для последних 20 открытых файлов.
  • Улучшенная интеграция с системами контроля версий.
    Была добавлена область просмотра изменений в проекте, которая показывает файлы в проекте, измененные с момента последнего коммита. Также улучшен режим Review, который теперь автоматически обновляется по мере внесения изменений в код проекта.
  • Интеграция с проектами KDE
    Инфраструктура проектов KDE была адаптирована для поддержки projects.kde.org. Это позволило иметь полный список всех проектов KDE с возможностью их загрузки для быстрого начала старта работы над ними.
  • Улучшения интеграция konsole
    Встроенный konsole в KDevelop получил ряд улучшений — теперь при использовании bash стало возможно управлять сессией KDevelop, т.е. открывать и создавать файлы, выполнять поиск по файлам и пр. Просто введите help!, чтобы узнать, что теперь можно делать.
  • Форматирование кода
    Встроенное форматирование также было улучшено — теперь оно может переопределять настройки выравнивания редактора. Более того, «Custom Script Formatter», ранее поддерживавший Gnu Indent, был расширен с упрощением добавления собственных скриптов форматирования. Одним из примеров является kdev_format_source.sh, поставляемый с KDevelop, позволяющий задавать правила форматирования путем размещения файлов format_sources в дереве проекта. В связке с мощным форматировщиком uncrustify, скрипт позволяет легко работать в больших гетерогенных проектах.
  • Исправления ошибок
    Было исправлено более 170 ошибок по сравнению с KDevelop 4.2.3. Среди прочих, теперь нормально поддерживается SVN 1.7, улучшен разбор C++, улучшено взаимодействие с GDB. Также исправлено много падений и прочих проблем.
  • Оптимизации
    Кроме добавления новых возможностей и улучшения стабильности, этот релиз иммет ряд заслуживающих внимания оптимизаций — открытие больших проектов теперь должно происходить значительно быстрее. Также быстрее стал инструмент Quickopen, что делает более комфортной работу в больших проектах.

У проекта появился форум, на котором можно получить поддержку и ответы на вопросы. Также доступны список рассылки, а также канал IRC #kdevelop на freenode.

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

★★★★★

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

Иптимизации

anonymous ()

Пора переходить с CDT?

queen3 ★★★★★ ()

Восстановление состояния редактора

наконец-то дождались!

ymn ★★★★★ ()

Отлично. Надо будет попробовать.

P.S. Разработчики ставят за цель => Разработчики ставят для себя цель

trex6 ★★★★★ ()

Поддержка С++11 особенно радует :)

Stalin ★★★★★ ()

Круто, кто-то еще, кроме kdevelop, поддерживает С++11?

frozenix ★★★ ()

Разработчики ставят за цель

«ставят цель» или «ставят целью» а еще лучше в данном случае «планируют»

с возможностью их загрузки для быстрого начала старта работы над ними

«начала» убрать

и еще эндцать подобных оговорок(опереводок), а также:

иммет

А вообще, имхо, не нужен. Не нужен такой подход к разработке ide, в котором приходится повторять часть функций компилятора.

MyTrooName ★★★★★ ()

Оно уже умеет нормальную семантическую подсветку кода, а не только раскрашивание во все цвета радуги глобальных/локальных переменных?

m0rph ★★★★★ ()

Каждому свое, а мне достаточно vim

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

P.S. Разработчики ставят за цель => Разработчики ставят для себя цель

ИМХО, совсем по-русски будет «разработчики ставят целью»

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

Смешно, аж плакать хочется.

А что, уже без IDE в C++ не программируется? Вот до чего техн^WC++ дошел!

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

А что, уже без IDE в C++ не программируется?

Отчего же. Хеловорды — запросто в nano. Но, глубоко ИМХО, разработчику должно быть УДОБНО разрабатывать. Потому народ и сваливает на дотнет с решарперами и прочими плюшками.

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

m0rph

Оно уже умеет нормальную семантическую подсветку кода, а не только раскрашивание во все цвета радуги глобальных/локальных переменных?

А что в твоем понимании «нормальная» семантическая подсветка?

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

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

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

Я из-за этой радуги на другие иде смотреть не могу. Их 2 цвета мне не достаточно

Maledictus ()

Что оно делает лучше emacs+cedet+semantic+magit?

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

Maledictus

Я из-за этой радуги на другие иде смотреть не могу. Их 2 цвета мне не достаточно

+1. Очень удобно.

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

x4DA

Что оно делает лучше emacs+cedet+semantic+magit?

Текстовый редактор есть.

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

А что в твоем понимании «нормальная» семантическая подсветка?

Возможность выделять определенным стилем названия пользовательских типов, переменные-члены, аргументы шаблонов, виртуальные/статические функции. KDevelop имеет мощный C++ индексер, который казалось бы позволяет делать такие простые вещи, однако в плане подсветки он полностью полагается на синтаксическую подсветку kate part. Все, что можно было отнести к семантической подсветке в версии 4.2 - это уже упомянутое мной раскрашивание локальных/глобальных переменных в случайные цвета.

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

Отчего же. Хеловорды — запросто в nano. Но, глубоко ИМХО, разработчику должно быть УДОБНО разрабатывать. Потому народ и сваливает на дотнет с решарперами и прочими плюшками.

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

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

Я из-за этой радуги на другие иде смотреть не могу. Их 2 цвета мне не достаточно

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

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

m0rph

Возможность выделять определенным стилем названия пользовательских типов, переменные-члены, аргументы шаблонов, виртуальные/статические функции. KDevelop имеет мощный C++ индексер, который казалось бы позволяет делать такие простые вещи, однако в плане подсветки он полностью полагается на синтаксическую подсветку kate part. Все, что можно было отнести к семантической подсветке в версии 4.2 - это уже упомянутое мной раскрашивание локальных/глобальных переменных в случайные цвета.

4.2 про kate part. Открой kate и оцени разницу. KDevelop подсвечивает цветами семантически разные элементы. Он не запутается в разных переменных с одним именем. Я считаю, что текущая тема подсветки лучше. Реализовать твою вообще не сложно - думаю, это задача одного вечера. Но для меня важнее смотреть в код и легко видеть, где какая переменная используется за счет текущей подсветки.

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

m0rph

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

Степень разноцветности ЕМНИП настраивалась.

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

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

Если критична скорость работы + переносимость кода + гибкость, то вариантов кроме С/С++ нет. Если окошки рисовать ... тут вариантов слишком много, и java с C# могут опять оказаться не лучшими.

По subj — вполне удобная IDE и почти без притормаживания тянет большие проекты.

abalakin ★★ ()

Чем оно лучше Qt Creator'а?

anonymous ()

Если это кому-то нужно, я за них рад.

Debasher ★★★★★ ()

хм для некде кутешный походу всё ещё тортовее.

Thero ★★★★★ ()

открытие больших проектов теперь должно происходить значительно быстрее

не заметил...

ну и падает исправно

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

Если критична скорость работы + переносимость кода + гибкость, то вариантов кроме С/С++ нет.

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

Переносимости кода нет даже в линуксе на одном дистрибутиве, т.к. версии одного компилятора разные, не говоря уж о платформообразующих библиотеках типа boost/qt. Нет, можно и без них писать, но зачем?

Над гибкостью плюсов до соплей смеяться можно.

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

Если критична скорость работы + переносимость кода + гибкость, то вариантов кроме С/С++ нет.

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

Ммм, есть такая поговорка «дуракам закон не писан». А про указатели ... Вы не поверите во сколько раз можно ускорить код просто правильно организовав обращение к памяти... и указатели тут очень кстати оказываются.

Переносимости кода нет даже в линуксе на одном дистрибутиве, т.к. версии одного компилятора разные, не говоря уж о платформообразующих библиотеках типа boost/qt. Нет, можно и без них писать, но зачем?

Ммм, как бы есть контрпримеры: http://gnuwin32.sourceforge.net/ , Gtk+, Qt и пр. Люди то и не знают что ими можно и под Linux, и под Windows, и под MacOS и пр. пользоваться!

Причем тут разные версии компилятора я не понял. Есть стандарт, его поддерживают большинство компиляторов (только VisualStudio как всегда идет своим путем). И если кто-то этому стандарту не следует (как с int вместо long на 64 битах, или c memcpy/memmove), то он ССЗБ.

Про окошки, я уже писал, что есть и более удобные (кому-то) инструменты — «на вкус и цвет товарищей нет». Причина очевидна — никто не гонится за скоростью отклика — все равно человек быстрее нескольких секунд среагировать осмысленно не успеет. А секунда это миллиарды тактов процессора!

Над гибкостью плюсов до соплей смеяться можно.

Ммм, в С/С++ есть такая замечательная штука — «библиотека» называется. Любую конструкцию реализуем на С/С++ (оба подходят) — один раз и хоть сколь угодно сложно внутри, делаем из нее библиотеку и пользуемся сколько дальше легко и просто (и гибко ;) ).

Более того, этой же библиотекой можно потом на любом языке пользоваться ... Назовите хотя бы еще один язык с такими возможностями?

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

Настоящий крестовый джедай с крестов по собственному желанию не свалит

это точно. :-)

samy_volosaty ★★★★★ ()

кстати, а оно проекты на autotools нормально ест?

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

Открой kate и оцени разницу.

Ты невнимательно читаешь, я писал, что кроме kate part есть еще семантическая подсветка, но почти ненастраиваемая (настраивается только интенсивность цветов, нельзя назначить единый цвет для однотипных элементов). Я уважаю мнение тех, кому так удобно, просто хочется также иметь то, что удобно мне.

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

можно отключить двойное начертание у переменных? нигде в настройках не нашел, отключил у всего, а вот у переменных не отключается

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

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

Возможность испоганить присутствует всегда и везде.

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

можно отключить двойное начертание у переменных?

Имеется в виду отключение полужирного стиля у шрифта? Нет, нельзя. Предполагаю, что сделано это из-за того, что у шрифта с обычным стилем слабо заметна разница в цвете.

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

samy_volosaty

кстати, а оно проекты на autotools нормально ест?

ЕМНИП ест как makefile-based проект.

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

m0rph

Я уважаю мнение тех, кому так удобно, просто хочется также иметь то, что удобно мне.

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

Pavval ★★★★★ ()

я не понял : поиск по всем файлам проекта поломали что-ли ?

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