LINUX.ORG.RU

Релиз Qt Creator 2.3

 , , , ,


0

2

Состоялся релиз Qt Creator 2.3, кроссплатформенной интегрированной среды разработки на С++.

Наиболее важные изменения:

  • на приветственной странице добавлены руководства и примеры;
  • многочисленные улучшения в определении оформления кода на С++, которые можно применить как глобально, так и в рамках одного проекта (подробнее);
  • профайлер обзавёлся собственным режимом анализа проекта, а также поддержкой приложений QML и внешнего профайлераValgrind Callgrind;
  • добавлена поддержка «базовых устройств на Linux», для этого необходимо настроить подключение к устройству «Linux Device», а также добавить в проект соответствующие правила сборки и развертывания;
  • отладчик и профайлер для приложений Qt Quick поддерживает приложения для устройств на Symbian и Meego 1.2 с установленной Qt 4.7.4;
  • многочисленные улучшения в поддержке Qt Quick.

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

Загрузить

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

★★★★★

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

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

> эээ у меня выпадающий список открытых окон - там я могу выбрать для редактирования

в эклипсе табы - сверху, ну как в браузерах же )

С табами такая ситуация, что они удобны, когда их штук 5 не более. Если открыть 20 - уже ничего не найдешь, а место на экране занимают. В KDevelop'е эту ситуацию обсуждали активно и сделали смешанное решение. В креаторе сделали без табов и по началу это может быть просто непривычно.

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

>Оно, как минимум, достойный конкурент msvs.

Болеете? У MSVS только 1 достойный конкурент - emacs. Остальное на уровне студенческих поделок на коленке

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

> Очень нужна нормальная возможность перемещения файлов проекта по папкам...

ох, мне тоже порой

...и другие утилиты для рефакторинга (к примеру автоматическое переименование имени класса во всём проекте).


вроде бы, это уже есть

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


давно есть. в большинстве случаев достаточно выполнить build -> run qmake, а затем продолжить инкрементальную сборку.

И группировка пользовательского кода по типу region на уровне комментариев.


не распарсил...

И визуальный редактор править и править (интерфейс табов до сих пор не держит отсутствие таба, реализуется только программно), не говоря уже о выравнивании в layout.


Designer obsolete. означает, что никто допиливать его не будет.
но патчи всё ещё приветствуются )

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

>перевод: я не знаю о чём конкретно вы тут говорите, но с удовольствием поучаствую и всё обосру )

Вроде тут разговор про IDE идет, а тебе, если нечего сказать, то лучше помолчать. Или ты правда считаешь, что это тормозное QtGovno лучше emacs?

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

>Очень нужна нормальная возможность перемещения файлов проекта по папкам и другие утилиты для рефакторинга (к примеру автоматическое переименование имени класса во всём проекте).

Я думаю, этим займутся, когда вмержат в основную ветку clang

И визуальный редактор править и править (интерфейс табов до сих пор не держит отсутствие таба, реализуется только программно), не говоря уже о выравнивании в layout.

Ничего не понял

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

>Очень нужна нормальная возможность перемещения файлов проекта по папкам

ну, если сделать руками, то QtCreator все поймет

к примеру автоматическое переименование имени класса во всём проекте

Ctrl+Shift+R

И группировка пользовательского кода по типу region на уровне комментариев

не распарсил

И визуальный редактор править и править (интерфейс табов до сих пор не держит отсутствие таба, реализуется только программно), не говоря уже о выравнивании в layout.

что там не так с layout'ами?

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

> давно есть. в большинстве случаев достаточно выполнить build -> run qmake, а затем продолжить инкрементальную сборку.

Запомню. Хотя как было бы приятно просто нажимать билд, и если менялось что-то критичное, он бы догадывался сам не брать из кэша.

И группировка пользовательского кода по типу region на уровне комментариев.

не распарсил...

К примеру есть у меня в файле *.cpp много геттеров и сеттеров. Я могу свернуть реализацию каждого (функции сворачиваются), а обнести каким-либо специальным коментарием типа //! region { (+ закрывающий аналогичный), чтобы свернуть эту кучу функций в одну строку, я не могу. В MSVC такое было реализовано через region. Удобная штука, жаль этого пока нет.

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

> Ничего не понял

Когда создаёшь таб виджет, то у него нельзя сделать отсутствие таба, один обязательно есть. Если это реализуется кодом, то сначала создаётся пустой таб виджет, а только потом добавляются табы. И несколько раз я сталкивался, чтобы мне удобно было иметь пустой таб виджет. А визуальный редактор этого не позволит.

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

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

> ну, если сделать руками, то QtCreator все поймет

Руками понимает. Если к имени файла дописывать директорию или же ./ - возврат на порядок выше. Я про перемещение в стиле Drag-and-Drop.

Ctrl+Shift+R

Попробую. Благодарю, если это работает.

не распарсил

что там не так с layout'ами?

Это я в своих предыдущих комментариях другим собеседникам уже ответил.

stolz
()

Около года назад переполз с qmake на cmake. И с QtCreator на KDevelop. И то, и то в разы удобней.

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

> тормозное

В каком месте он тормозной?

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

как я уже сказал, ему лишь бы обосрать)

а у меня сегодня нет настроения вестись на провокации разномастных идиотов :)

rtk
()

оффтоп: поставил вчерашнюю 4.7.4 - у документации отсутствуют стили...
кто-нибудь уже сталкивался/пытался побороть?

rtk
()

а мне вот wxDev-C++ (http://wxdsgn.sourceforge.net/) импонировал раньше. .. сейчас кутэшечку потихоньку щупаю. под macos правда пока все нравится

real_kas
()

Им бы допилить интеграцию отладчика, то что существует очень неудобно. Debugging helper кривой, периодически нет возможности смотреть состояние объектов (unavailable synchronous data). Невозможно при генерации сигнала перейти непосредственно в подключенный слот (хотя такая возможность заявляется), при выходе за границы блока происходят прыжки по деструкторам локальных для блока объектов (я бы это включал опционально) и т.п., список можно продолжать. А так в целом довольно удобная среда разработки. Ей бы еще возможность подключить KDE'шный highlighter для cpp файлов, но это уже из разряда необязательных плюшек.

m0rph ★★★★★
()

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

На простейшем примере не работает:

struct A {
    struct Inside {
        void doA() {}
    };
};

struct B {
    struct Inside {
        void doB() {}
    };
};

template<class T> class C {
public:
    typename T::Inside inner;
};

int main()
{
    C<A> ca;
    C<B> cb;
    ca.inner.doA(); // doA not resolved => no completion, no follow symbol, no rename
    cb.inner.doB(); // doB not resolved => ...
    return 0;
}

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

>>Очень нужна нормальная возможность перемещения файлов проекта по папкам и другие утилиты для рефакторинга (к примеру автоматическое переименование имени класса во всём проекте).

Я думаю, этим займутся, когда вмержат в основную ветку clang

У них есть планы по инеграции clang для индексирования исходников (как в новом Xcode)? Или только выбор toolchain для сборки с помощью clang?

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

>У них есть планы по инеграции clang для индексирования исходников (как в новом Xcode)?

Эрик работаеь над этим в (пока) закрытой от глаз общественности ветке

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

балалайку!!! нет никакой кнопки ctrl+alt+f12 да, переключиться из хедера в цпп, а обратно уже shift+ctl+alt+f12, но это супер неудобно и не поменять

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

> оффтоп: поставил вчерашнюю 4.7.4 - у документации отсутствуют стили...

кто-нибудь уже сталкивался/пытался побороть?

Я столкнулся и попытался побороть. Попытка оказалась более-менее успешной — оригинальный «doc/qch/qt.qch» поломанный и надо самому пересобирать (сгенерировать makefile-ы и сделать «make docs»). «Более-менее» потому, что генератор файлов .qch ругался на некоторые отсутствующие файлы, но [очень] беглый просмотр особых проблем не выявил.

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

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

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

Прочитал топик на lorcode.

В итоге пришли к тому, что делать плагин для Python/PyQt/PySide вроде как и не нужно? :)

Вообще-то было бы здорово, если бы QtCreator работал с Python и PyQt/PySide. Вот только сделать качественную реализацию наверное довольно сложно. Вот что сразу приходит на ум из нужных фич (пишу тут, потому что на lorcode невозможно зарегистрироваться):

  • Менеджер проектов с Source Browser и прочим
  • Автоматическое форматирование кода и умный indent
  • Умное автодополнение (как недавно запилили в плагине для VisualStudio)
  • Работающее автодополнение и вытаскивание доков из pyd-модулей
  • Интегрирование интерактивной консоли IPython со всеми её плюшками
  • Рефакторинг
  • Отладчик с визуальным Call Stack и возможностью интерактивной пробы (как в WingIDE)
  • Профайлер
  • Интерактивная справочная система (как Source Assistant в WingIDE)
  • Инструмент для создания standalone сборок (типа PyInstaller)
  • Остальные вкусности, которые есть почти в любой современной IDE

Я сейчас пользуюсь купленной WingIDE, но у неё проблемы с автодополнением и тормозит сильно. Вот QtCreator - было бы замечательно. :)

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

>И визуальный редактор править и править (интерфейс табов до сих пор не держит отсутствие таба, реализуется только программно), не говоря уже о выравнивании в layout.

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

что там не так с layout'ами?

Как минимум не так - это то, что в компоновщик запаришься запихивать контролы. Особенно, когда уже установлен компоновщик для главного окна. Когда есть компоновщики в другом компоновщике (вложенные) вообще невозможно запихать контрол в нужный компоновщик. Приходится создавать ещё один виджет, бросать на него контролы, формировать отдельные блоки компоновщиков, везде напихивать спэйсеров (без них очень трудно запихать контролы в нужные места), потом с такой-то матерью всё это объединять и переносить в главную форму и устанавливать главный компоновщик в самом конце. Это конечно «очень удобно», тут естественно дорабатывать ничего не нужно. :)

neuron
()

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

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

>автоматическое переименование имени класса во всём проекте
Вроде как уже давным-давно работает. А вот если бы он еще и файлы класса переименовывал, да инклюды везде заменял - цены бы ему не было.

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

>Вот только сделать качественную реализацию наверное довольно сложно.

Да не то что бы сложно, просто нужны человекочасы :)

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

>Как минимум не так - это то, что в компоновщик запаришься запихивать контролы. Особенно, когда уже установлен компоновщик для главного окна. Когда есть компоновщики в другом компоновщике (вложенные) вообще невозможно запихать контрол в нужный компоновщик. Приходится создавать ещё один виджет, бросать на него контролы, формировать отдельные блоки компоновщиков, везде напихивать спэйсеров (без них очень трудно запихать контролы в нужные места), потом с такой-то матерью всё это объединять и переносить в главную форму и устанавливать главный компоновщик в самом конце. Это конечно «очень удобно», тут естественно дорабатывать ничего не нужно. :)

Вот всегда писал GUI в коде и подозревал, что я прав. Теперь уверен.

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

>Менеджер проектов с Source Browser и прочим

Автоматическое форматирование кода и умный indent

Вообще не вопрос, могу помочь образцом/советом (сам работаю над редактором Lua)

Интегрирование интерактивной консоли IPython со всеми её плюшками

Тоже не сложно, есть образец, даже два: 1)простая питоновая консоль на qt4 2)новый qt4 интерфейс ipython

Умное автодополнение

Рефакторинг

Реализовано в pynoto

пишу тут, потому что на lorcode невозможно зарегистрироваться

непорядок, будем разбираться

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

Если картко. Там кучу всего собрались поломать, сейчас там буча насчет v8, который не поддерживает многие платформы. Вообще уныло как-то.

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

>Как минимум не так - это то, что в компоновщик запаришься запихивать контролы.

Я иногда правлю ui руками, получается проще :)

annulen ★★★★★
()

Ну и еще одна бага, которая появилась еще в предидущей версии:
Раньше можно было выделить несколько строк кода и запустить поиск этого куска в тесте программы, теперь поиск начинается в выделенном куске, а поиск при наличии в искомой фразе переводов строк - не работает.

Может быть кто-нибудь пробовал починить?

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

> непорядок, будем разбираться

Там картинка с кодом подтверждения не отображается. Пробовал в разных браузерах. AdBlock тут точно не при чём. :)

Если начинать заниматься этим проектом, надо сначала убедиться, что всё это возможно реализовать в рамках концепции плагинов для QtCreator. Я плагины для QtCreator не писал, только статьи на эту тему по диагонали просматривал.

Посмотрел бегло pynoto, вроде неплохая задумка, да и не такой уж мёртвый проект. Вот только с PySide похоже работать не получится, только PyQt4.

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

> Вроде как уже давным-давно работает. А вот если бы он еще и файлы класса переименовывал, да инклюды везде заменял - цены бы ему не было.

Ага, уже разобрались, действительно ctrl+shift+r. А вот файлы и инклюды - увы. Во всяком случае, я не знаю как иноче, кроме как ручками.

stolz
()

Отладчик для умирающей симбы и мертворожденной миго радует необыкновенно. Так скажем же наше твердое линуксовое НЕТ !!!

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

> Отладчик для умирающей симбы и мертворожденной миго радует необыкновенно. Так скажем же наше твердое линуксовое НЕТ !!!

Срали мы на твое «твердое» авторитетное мнение. Еще у каждого второго телефон на симбиане, а насчет миго - так это ты скорее мертворожденный, миго как раз платформа нормальная. Ты наверно еще и фанат ведроида?

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

а ты смелый ;) и где ты успел мигу пощупать?

chg ★★★★★
()

Новые фишечки Gedit. Правда к сабжу пока имеет сомнительное отношение и о ужос если вырастет в ай-ди-и.

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

> буду признателен за ссылочку на пересобранный qt.qch - очень уж лень пересобирать самому :)

http://ifolder.ru/25541579 (знаю-знаю, говнофайлообменник и всё такое, но своего сервера нет, а по мылу из-за размеров не пролезет)

За полноценность по названным ранее причинам не ручаюсь, но вряд ли такой вариант хуже почти неюзабельного оригинала. :)

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

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

Ну да, нормальная платформа. Что, впрочем, не мешает ей быть мёртвой — в треде про будущее проекта PySide нокиевский сотрудник сообщил:

Nokia's MeeGo team is being ramped down already in the near future

Вот такая вот нормальная платформа — N9 ещё в продажу не поступил, а команду разработчиков телефонного UX MeeGo уже начинают потихоньку закапывать.

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