LINUX.ORG.RU

QtCreator 1.1

 , , ,


0

0

Qt Creator (ранее известная под кодовым названием Greenhouse) — кроссплатформенная IDE для работы с фреймворком Qt, разработанная Qt Software.

Особенности

  • Сделана специально для разработчиков на Qt
  • Встроенный Qt Designer и Qt Assistant (+ контекстно-зависимая система помощи)
  • Расширяема плагинами
  • Имеется графический фронтенд для GDB
  • Для создания проектов используется qmake (планируется поддержка cmake и Makefile)

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

Редактирование

  • Полностью переработанный механизм разделителей
  • Добавлена поддержка JavaScript
  • Добавлена подсветка синтаксиса и автодополнение тегов для qdoc и doxygen
  • Улучшены подсказки по аргументам функций
  • Добавлено больше ключевых точек в истории редактирования(?)
  • Ctrl-click - переходит к определению объекта
  • Улучшено окно открытых документов (сортировка, выделение-по-клику, кнопка закрытия)
  • Исправлено копирование текста из справки и окон вывода (output windows)
  • Улучшен FakeVim режим
  • Улучшен разбор C++ и подсветка ошибок на лету

Сборка и запуск

  • Добавлена экспериментальная поддержка основаных на Makefile проектов
  • Улучшен разбор .pro файлов, обработка областей видимости и $$system директив
  • Добавлена поддержка для subdir.file в .pro файлах
  • Добавлена опция запуска приложения во внешнем терминале
  • Улучшена поддержка CMake

Отладка

  • Возможность отлаживать «core files»(?)
  • Изменён подход к загрузке dumper: собранный однажды для используемоей версии, не требует больше сборки
  • Добавлены dumper для std::set and, улучшены QString, QVariant, std::wstring
  • Стратегия загрузки разделяемых объектов сделана настраиваемой (auto-solib-add)
  • Число отображаемых стеком уровней увеличивается по запросу, вместо загрузки сразу всех
  • Улучшено взаимодействие в Locals & Watchers окнах (в Debug-режиме)

Мастера создания

  • Теперь есть возможность выбирать суффикс файла по умолчанию в диалоге настройки
  • Исправления в коде, который генерируется для обращения к событиям (Добавлен вызов базового класса)
  • Генерируемые заголовочные стражи (#ifndef TEST_H) теперь изменяются в соответствии с расширением файла

Дизайнер

  • Добавлено редактор signal/slot
  • Исправлено «Goto slot» (форматирование/множественное наследование)
  • Контекстная справка для виджетов

Плагины для систем контроля версий

  • Исправлен цветной вывод для git
  • Добавлено подсветка для редактора подтверждения git
  • Сделано git submit editor удаляет комментарии (?)
  • Теперь Subversion 1.6 работает
  • Добавлено настройки для редакторов (пользовательские поля, перенос слов)

Qt Creator на FTP

>>> Changes Qt Creator 1.1



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

Пока не сделают возможность иерархически разбивать проект на папки => не нужно, разве только студентам helloworld'ы писать

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

>Внимание: QtCreator полностью состоит из плагинов и имеет очень маленькое ядро. А теперь подумай, как глупо выглядят твои детские разъяснения.

Да, конечно, чего это я. Переименование символа? Откуда? Это только детские мечты.

r ★★★★★
()

для питона есть плагины? :)

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

> Такими темпами глядишь скоро Eclipse+CDT станут ненужны.

Ну как сказать. В плане разбора C++ кода в QtCreator пока как-то все убого. В нетривиальных случаях автокомплит перестает работать. Таких вещей как "Find References", "Rename", "Call Hierarchy" вообще нет.

Кстати в нем есть хотя бы тупое дополнение по словам из уже открытых файлов вроде Alt+/ в Emacs/Eclipse?

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

>>Возможность отлаживать "core files"(?)

>>Сделано git submit editor удаляет комментарии (?)

>Промт не знает таких слов?

Я не знаю, как это адекватно перевести на русский. Что такое "core files" в этом контексте я с трудом представляю, скорее всего имеются в виду файлы ядра. Но какого ядра? Qt? QtCreator? linux?

git submit editor - редактор сообщения о ревизии, но к чему там удаление комментариев я так и не понял.

dumper - это типа helper или я опять не понял?

p.s. А вообще да, торопился, не до конца текст причесал.

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

> Что такое "core files" в этом контексте я с трудом представляю

http://en.wikipedia.org/wiki/Core_dump

> git submit editor - редактор сообщения о ревизии, но к чему там удаление комментариев я так и не понял.

Ну так смотрите первоисточники (http://tinyurl.com/c8hnx7):

> + // We need to manually purge out comment lines starting with

> + // hash '#' since git does not do that when using -F.

А вообще Eclipse+CDT неплохо импортировал исходники QtCreator:

> Indexed 'qt-creator' (574 sources, 1 894 headers) in 66,12 sec: 213 098 declarations; 489 679 references; 156 unresolved inclusions; 76 syntax errors; 6 802 unresolved names (0,96 %)

unresolved inclusions - это в основном ui_* файлы. Думаю после сборки добавятся еще несколько defines и CDT еще лучше проиндексирует исходники.

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

>Пока не сделают возможность иерархически разбивать проект на папки => не нужно

начни писать сейчас. К тому времени, как накодишь столько, что нужно будет разбивать по папкам - допилят creator :)

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

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

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

>Oно на XCode шибко похоже, оттого и удобное :)

отнюдь.

Если XCode модно настроить для работы с многими окнами: окно проекта, открытые файлы, вывод консоли, дебаггер и т.п.

QtCreator в силу кроссплатформенности держит все в одном окне, что зачастую неудобно.

А идеологически, довольно похожи. Каждая IDE заточена под конкретный framework, и со своими задачами вполне справляется(а самое главное - не тормозит как eclipse/netbeans)

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

> Если XCode модно настроить для работы с многими окнами: окно проекта, открытые файлы, вывод консоли, дебаггер и т.п.

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

lester ★★★★
()

Новость просто замечательная, еще годик и будет best of the best. Visual Studio будет курить всторонке и тогда точно вендекапец.

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

> Тормозной и падучий этот Eclipse

у меня не тормозит и не падает, докажи что ты не наркоман.

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

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

Чёрт! Они заметили, что там нет табов. Что делать будем?! ;)

А вообще - я поработав пару недель в QtCreator студию запускаю только чтобы проверить, что проект нормально собирается и в ней, и никаких специфических файлов не забыл. И окно с открытыми файлами и Locator (Ctrl-k) делают табы не нужными.

Жить без них можно, это точно, была бы опция - да. было бы неплохо, но есть вещи и посерьёзней - то же автодополнение, анализ кода, отладка. Давайте дадим немного времени разработчикам. Всё таки для проекта, который анонсировали полгода назад неплохо получилось?

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

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

табов конечно не хватает. В след. версии должны добавить. Тем не менее, табов в QtCreator тоже нет

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

Штука очень классная, но я всё же на Kdevelop перешел, он помощнее буит и код лучше разбирает

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

>А простота - тем, что её делали тролли. У них все простое и красивое получается.

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

Steplton ★★★★★
()

> Особенности: Сделана специально для разработчиков на Qt

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

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

> Что такое "core files" в этом контексте я с трудом представляю, скорее всего имеются в виду файлы ядра. Но какого ядра? Qt? QtCreator? linux?

Извините за грубость, на зачем вам IDE C++ и разработка на компилируемых низкоуровневых языках, если вы не знаете, что такое core dump?

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

А вы ему расскажите. Про GDB из консоли, про вполне запускабельные образы памяти, набираемые руками в "мышинных" кодах (KPNC который МЫЩЪХ, который Касперски, помнится, показывал такой образчик страшного колдунства) и прочие низкоуровневые ужосы. Глядишь, втянется человек. И IDE ему станет внезапно не нужен.

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

>Что и требовалось доказать. Сколько ни прыгают задроты-эклипсоманы, а единой среды под все языки не слепишь - бредовая утопия студентов-энтузазистов. Как пример Дельфи, среда должна быть чётко ориентирована на язык, тогда раскрываются все его преимущества. И наоборот, сам язык содержит возможности, помогающие среде легче управлять разработкой.

+1

так надо учитывать, что многоязыковые IDE и тормозят аццки(уважаемые эклипсо/нетбинсозащитники, комп у меня мощный, но тормозят все-равно)

Вот что бесит в многих IDE, так это разные шоткаты. Везде приходится перестраивать

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

>Что и требовалось доказать. Сколько ни прыгают задроты-эклипсоманы, а единой среды под все языки не слепишь

Ты это - выскажись в рассылке KDevelop. И этим из нокии скажи чтобы не шли по пагубному пути и немедленно (подчеркиваю _немедленно_) выкинули поддержку жабаскрипта из кутекреатора.

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

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

Так вот пока что "ориентация на язык" C++ у QtCreator очень хреновая. Пока он код на плюсах вообще понимает плохо, ну разве что совсем притивные конструкции языка. И до CDT ему еще очень далеко в этом плане.

Не умеет дополнять include: http://pic.ipicture.ru/uploads/090424/21iUJixQYj.png

Не умеет дополнять smart pointers: http://pic.ipicture.ru/uploads/090424/n5GSiEtkJb.png

Не умеет дополнять итераторы: http://pic.ipicture.ru/uploads/090424/7g6S4N1W30.png

Не умеет дополнять свои Qt-шные типы: http://pic.ipicture.ru/uploads/090424/FuwYu40nT5.png

Естественно, что "Follow Symbol under Cursor" для всех этих случаев работает. Тогда как CDT налету подсвечивает references (прям по ходу редактирования): http://pic.ipicture.ru/uploads/090424/GR52pUdmhC.png

И это только сравнение intellisense. При этом в QtCreator нет еще кучи функциональности: поиск references, переименование, показ иерархии вызовов,...

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

> тормозят аццки(уважаемые эклипсо/нетбинсозащитники, комп у меня мощный, но тормозят все-равно)

А можно пример когда CDT начинает "аццки тормозить"?

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

> Естественно, что "Follow Symbol under Cursor" для всех этих случаев не работает, т.е. не переходит к тем символам, которые нужно было дополнять.

Fixed.

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

Не желая никоим образом обидеть любителей Eclipse, хочу однако, заметить, что "легкости" в ней нет. Сколько раз ни начинал её использовать (иногда в ней сидел по месяцу _ежедневного_ _fulltime_ кодирования на плюсах), столько раз и бросал. Intellisense, говорите, замечательный? Попробуйте спирит им попрограммировать, али ещё какую бустятину позаковырестей. Поначалу, да, вроде как работает, круто, но после того как раз-другой-третий не найдешь /казалось бы/ очевидное дополнение - переключаешься на другие средства автодополнения кода. Быстрый говорите? Попробуйте открыть какую-нибудь "нативную" среду, повыполнять там рутинные операции, файлики там пооткрывать, курсором по тексту побегать, в VCS-модуль залезть, - и сравните ощущения. Отлично продумана модульность и легко написать модуль для своего VCS? Попробуйте egit'ом попользоваться, да на проекте с 25K коммитов и 17 тыщами файликов. Отлично справляется со сложными задачами, скажем, по рефакторингу? Дык любители IntelliJ (из сокамерников таких минимум четверо) рассказывают, как их любимая Идея уделывает Эклипс на этом поприще, но - на Java; с плюсами у меня, опять же, ещё осенью возникали в Эклипсе всякие неладушки с сильно темплитной бустятиной.

Машина, говорите, слабая, памяти мало? Athlon 64X2, 4GB, в декабре покупалась, нормальная девелоперская машина, всё остальное, включая поделия вроде OO.o, работает вполне даже приемлемо, я бы сказал, быстро.

В общем, несмотря на, вероятно, ощутимый прогресс в области CDT, у меня до сих пор не хватает сил её полюбить.

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

Претензии к CDT понятны, мне и самому многого в нем не хватает. Но предлагать QtCreator на замену в его нынешнем состоянии - как-то шибко уж по пионерски. Сейчас он и половину функциональности от CDT не предоставляет. И подходит в основном для осиливания примеров и туториалов из Qt, а не для разработки в большом проекте.

Да, и подскажите тогда "нативную среду" под линуксом, в которой поддержка C++ настолько хороша, что можно легко программировать с boost::spirit и прочей "бустятиной". Ну и чтобы модуль интеграции с git/mercurial был просто идеальный.

С кодом на C++ хорошо работает Xrefactory (правда очень не торопливо), какая-то интеграция у Emacs с dvcs также имеется. Но из Emacs один фиг full featured IDE не получается, отладчик там вообще сбоку прикручен.

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

> В общем, несмотря на, вероятно, ощутимый прогресс в области CDT, у меня до сих пор не хватает сил её полюбить

Ну я не то чтобы сильно полюбил CDT :) Просто какие есть реальные и более удобные альтернативы? Под виндой MSVC2008+VA получше, особенно в плане отладки, но "бустятину" оно также не прожевывает, а об интеграции с git/hg можно только помечтать.

kamre ★★★
()

Все бы в нем было бы замечательно, если бы не надоедливое окно save changes. Может кто-нибудь знает как его убрать?

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

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

Наверное, что-то в этом есть. Недаром Borland C++ Builder в своё время не полюбили ни любители Delphi. ни любители C++. И в основном его аудиторией оказались студенты, которые до того не успели познакомиться ни с первым, ни со вторым.

Но всё равно, хочется универсальную IDE...

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

> мало просто собрать пакет и донести его до репозитария, нужно этот пакет еще и поддерживать!

+1024

И до репозитариев-то не все доносят...

(грустно смотрит на до сих пор замаскированный в генте qt-4.5.0...)

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

> Что за моноширинный шрифт на скринах?

Шрифт Consolas size 11.

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

> Ну я не то чтобы сильно полюбил CDT :) Просто какие есть реальные и более удобные альтернативы?

Удобные альтернативы чему? Есть мнение, что универсального секретного ингредиента не существует. Если нужен "ентерпрайз на джаве", то, вероятно, уместно делать его в Идее/Эклипсе, ради такого можно потерпеть и тормозной интерфейс, и небыструю индексацию при, скажем, переключении бранчей, и прочую вонь из движка.

Для тех, у кого запросы попроще - тем и инструменты полегче и поудобнее подойдут. Я больше скажу, для тех, кому нужно редактировать десяток-другой-третий файлов на C++/python/perl итп, вполне хватит и настроенного Emacs/Vim. Получается неплохо.

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

> Удобные альтернативы чему?

Инетересуют удобные альтернативы CDT под линуксом, очевидно.

> Есть мнение, что универсального секретного ингредиента не существует. Если нужен "ентерпрайз на джаве", то, вероятно, уместно делать его в Идее/Эклипсе, ради такого можно потерпеть и тормозной интерфейс, и небыструю индексацию при, скажем, переключении бранчей, и прочую вонь из движка.

Да про Java и Enterprise в треде вообще речь не идет. Речь про IDE для C++/Qt.

> Я больше скажу, для тех, кому нужно редактировать десяток-другой-третий файлов на C++/python/perl итп, вполне хватит и настроенного Emacs/Vim. Получается неплохо.

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

Да хоть тот же QtCreator взять как более или менее серьезный плюсатый проект. Он пишется без "бустятины", только на Qt (даже stl не используется). Выше уже приводил как его индексирует CDT (и это просто импорт исходников без особой настройки) и навигация по исходникам работает хорошо и автокомплиты в разных местах тоже. Чем здесь Emacs/Vim лучше то будет? А если еще и под gdb нужно будет погонять (у Emacs/Vim интеграция с ним вообще кривая)? Какой взять "инструмент полегче и поудобнее" в этом случае?

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

Хех, ещё раз, медленнее :)

В Vim/Emacs вполне получается писать и плюсовый код тоже, не только "скриптики для администрирования". В том числе и с "типа Intellisense" (искать по OmniCompletion, _например_).

Получаются при этом хелло-ворлды или не хелло-ворлды - судить не мне, но я вполне знаю продукты под Unix/Linux, которые писаны как раз "на коленке", в неправильных, непригодных для "настоящего программирования" средах, но, тем не менее, имеющие неплохое положение на рынке и/или обеспечивающие важную для людей функцию (дружок у меня автоматизирует в составе своей лабы разные объекты, от заводов до метро, ни разу не видел у него запущенного Эклипса, а вот Vim - видел :) ) Так что, не IDE красит программиста, ей-же-ей.

Ну и насчёт дебаггера. Я вполне допускаю, что программистам, пишущим мощные десктопные приложения, дебаггер нужен как воздух. Мне же по жизни, в основном, приходится иметь дело с сервер-сайд (повторю, хелло-ворлд, не хелло-ворлд - судить не мне). А там и проблемы случаются немного другие. Если _очень_ повезёт, то получается подцепиться gdb к уже работающему /сутками/ процессу, но, как правило, вся главная жопа случается в ситуации, когда требуется немедленный перезапуск боевого сервера с получением люлей от верховного командования/представителей заказчика и последующим медленным, вдумчивым зализыванием, гхм, ран и таким же вдумчивым анализом произошедшего по логам и составленным на их основе синтетическим тестам.

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

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

> Так что, не IDE красит программиста

Это точно :) Просто я уж было подумал, что мне подскажут хороший инструмент для программирования на плюсах с "бустятиной", когда все плюсатые IDE скатываются до уровня текстового редактора и начинают проигрывать Emacs/Vim :)

> В том числе и с "типа Intellisense" (искать по OmniCompletion, _например_)

Так этот "типа Intellisense" в Vim вроде бы не далеко ушел от того, что в QtCreator. И на выше приведенных примерах наверняка работать не будет...

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

> Ну и насчёт дебаггера. Я вполне допускаю, что программистам, пишущим мощные десктопные приложения, дебаггер нужен как воздух. Мне же по жизни, в основном, приходится иметь дело с сервер-сайд (повторю, хелло-ворлд, не хелло-ворлд - судить не мне). А там и проблемы случаются немного другие. Если _очень_ повезёт, то получается подцепиться gdb к уже работающему /сутками/ процессу, но, как правило, вся главная жопа случается в ситуации, когда требуется немедленный перезапуск боевого сервера с получением люлей от верховного командования/представителей заказчика и последующим медленным, вдумчивым зализыванием, гхм, ран и таким же вдумчивым анализом произошедшего по логам и составленным на их основе синтетическим тестам.

А как же core dump? Мне в таких случаях ну очень сильно помогало.

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

> Ага вводим понятие списка интерсепторов переименования
> [.. skip ..]

> вторая переименование символов....


Точно замечено, но многословно. В общем +1.

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

> Что такое "core files" в этом контексте я с трудом представляю,
> скорее всего имеются в виду файлы ядра. Но какого ядра? Qt?

> QtCreator? linux?


Segmentation fault. Core dumped.

Вот то что dumped и называется core. По русски-слэнгом корка. Тому кто пользовался отладчиком под linux должно быть сразу понятно :).

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

> Просто я уж было подумал, что мне подскажут хороший инструмент для
> программирования на плюсах с "бустятиной", когда все плюсатые IDE

> скатываются до уровня текстового редактора и начинают проигрывать

> Emacs/Vim :)


Что-то мне подсказывает что надежды бессмысленны. Компиляторы-то доделать не могут чтобы весь стандарт умели, а вы хотите чтобы IDE умело. Eclipse CDT хорош когда проект не слишком большой (ну там пара десятков мегабайт исходников), но уже не маленький.

На маленьких и больших C++ проектах я видел Vim, FTE, некоторые ископаемые разработчкики пользовали Emacs, Far :), mcedit, ну и Visual Studio (хотя это вообще отдельный C++ и отдельная песня).

Толкового автокомплита для C++ долго еще не будет. Бестолковый часто больше мешает чем помогает. Отладка в принципе в gdb удобная. А потому правильная подсветка - все что можно добиться от хорошей C++ IDE. А значит с ним и не IDE нужна, а редактор.

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

> Собрал пакет для убунты.

Убунт на свете много. Для какой убунты, можно узнать?

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