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 ()
Последнее исправление: maxcom (всего исправлений: 1)

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

Насколько он переносим (на сайте вроде есть Linux и Windows)?
Будет ли работать на маках?

lin + win - официально работают, если верить форумам, то поддержка mac os есть в git:

http://repo.or.cz/w/tinycc.git

но ее еще нет в последнем релизе, остальное не поддерживается

Можно ли использовать переменные основной программы (точнее получить доступ к переменным созданной программы/функции или передать что-то в качестве аргумента)?

можно обращаться к внешним/внутренним функциям с любыми аргументами

Насколько быстрая компиляция мелких функций в 10-50 строчек (хотя это надо экспериментировать)?

tcc в разы, а то и десятки, быстрее gcc

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

остальное не поддерживается

хотя нет - как минимум в FreeBSD работает

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

Хочется чего-то большего. То же автодополнение там весьма не очень - предлагает всё подряд.

Сейчас они активно пилят clang, так что стоит ожидать вкусного, а так да... не устраивает

Да уж, CMake - это хорошо.

надеюсь, что таки доберусь :)

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

Если можете, подскажите правильный дизайн по добавлению этих цветов в стандартный диалог настройки подсветки.

А хз.

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

Спасибо за информацию. У меня еще 3 вопроса.

1. Судя по названию С++ даже в минимальном виде (без шаблонов и наследования) не поддерживается? Если бы поддерживался, то остальные вопросы отпали бы.

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

mydata a = new_mydata(...);
new_mydata(...) выделяет контролируемую мной память, но хочется узнать как эту память «обозвали» внутри — в данном случае «а».

3. Поддерживаются ли аргументы функций по умолчанию?

4. Можно ли использовать функции, определенные в самой программе, а не во внешней библиотеке?

Последний, наверное, самый критичный вопрос (кроме первого). Я готов сделать эти функции в extern «C»{}, готов написать внешний заголовочный файл (хотя это вроде и не нужно — достаточно объявления в коде?!), но не готов выкладывать их в библиотеку. Причина в том, что имена функций будут общеупотребительными и могут вызвать массу проблем с совместимостью.

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

1. Судя по названию С++ даже в минимальном виде (без шаблонов и наследования) не поддерживается?

нет

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

нет

3. Поддерживаются ли аргументы функций по умолчанию?

да

4. Можно ли использовать функции, определенные в самой программе, а не во внешней библиотеке?

да

П.С. сама библиотека небольшая и открытая, т.е. при желании можно провернуть чуть ли не любой финт ушами, но придется потратить время

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

3. Поддерживаются ли аргументы функций по умолчанию?

да

4. Можно ли использовать функции, определенные в самой программе, а не во внешней библиотеке?

да

ага, значит я смогу написать «квази С++». Спасибо. Может и стоит перейти на нее полностью.

Последний вопрос — поддерживает ли ссылки? Т.е. что-то типа Val(i,j) = Val(i,j)+1; где функция определена как double &Val(int i,int j);

П.С. сама библиотека небольшая и открытая, т.е. при желании можно провернуть чуть ли не любой финт ушами, но придется потратить время

ой, вот времени как обычно не хватает — мне бы со своей библиотекой разобраться :)

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

ага, значит я смогу написать «квази С++».
Последний вопрос — поддерживает ли ссылки?

там ISO C99, со всем вытекающим, ссылок естественно нет, эмулировать С++ тоже вряд ли получится, даже на уровне классов, это уже требует дополнительного рантайма, new/delete, да и вообще поддержки компилятора

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

там ISO C99, со всем вытекающим, ссылок естественно нет, эмулировать С++ тоже вряд ли получится, даже на уровне классов, это уже требует дополнительного рантайма, new/delete, да и вообще поддержки компилятора

отсутствие ссылок — мелкая неприятность.

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

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

Делаю я mathgl. А нужно, чтобы запускать мелкие скрипты в полуинтерактивном режиме. Сейчас с этой задачей более менее успешно справляются скрипты MGL - мои собственные. Но с компилируемым С-ым кодом может оказаться быстрее и удобней.

Расспрашивал подробно для того чтобы обеспечить возможность просмотра и обработки данных после выполнения скрипта/кода пользователя или их повторного использования в другом скрипте/коде + подсунуть ему более упрощенную версию функций (в смысле вызова).

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

> ctags — говно мамонта.

Что взамен предлагаете?

Если нужна IDE/смотрелка кода, то CDT/KDevelop/QtCreator, что угодно. Если нужен command-line, то замены нет, увы. Только ctags менее дремучим говном от этого не становится

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

А вот eclipse CDT убог, PyDev, кстати, тоже. К другим ЯП, кроме java слабовата среда эта.

Чем убог то CDT? Навигация по коду у CDT наверное лучше всех. Как минимум среди опенсорса.

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

dion

Если нужен command-line, то замены нет, увы.

А зачем нужен command-line? Что-то не могу придумать применения.

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

А зачем нужен command-line? Что-то не могу придумать применения.

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

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

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

вам в Qt Creator 2.5

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

По сравнению с JDT, в котором реализован полноценный инкрементальный компилятор для Java, CDT действительно убог - тормозит и часто показывает «ошибки» в компилирующемся плюсовом коде.

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

По сравнению с JDT, в котором реализован полноценный инкрементальный компилятор для Java, CDT действительно убог

По сравнению с JDT - может быть (хотя по сравнению с Си++ убога сама Ява, так что задача CDT просто сложнее). Но, судя по упоминанию Emacs (и Kate ранее), сравнение было не с JDT.

tailgunner ★★★★★
()

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

Как настроить стиль, где поставить галочку, чтобы перед этой скобкой не было дополнительного отступа?

Чтобы было так:

void preview::preview
{
    if ( number != 1)
    {
         do something;
    }
}

Но не так:

void preview::preview
{
    if ( number != 1)
        {
             do something;
        }
}

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