Для начала: создал репозиторий PPA, куда буду с разной периодичностью бубликовать снапшот QtC из master-бранча. Кроме того, туда же поместил свой плагин
CMakeProjectManager2:
https://launchpad.net/~adrozdoff/+archive/ubuntu/qtcreator-git
Установка:
sudo add-apt-repository ppa:adrozdoff/qtcreator-git
sudo apt-get update
sudo apt-get install qtcrator-git qtcreator-git-plugin-cmake2
Для разработчиков плагинов будет полезен пакет qtcretor-git-dev
который ставит в /usr/src/qtcreator-git
заголовочники и .pri файлы. Пример использования можно поглядеть в спеках отстройки qtcreator-git-plugin-cmake2:
sudo apt-get install qtcrator-git-dev
Ну а теперь фичи.
Кодовая модель
Уже давно появились приятные дополнительные инструменты вроде “Reparse Externally Changed Files” (удобно при наличии внешних генераторов, тот же протобуф) и “Inspect C++ Code Model…”, позволяющая понять, что не так при парсинге и отослать более вменяемый отчёт.
Сравнительно же недавно появилась возможность задавать индивидуально для каждого файла дополнительные директивы препроцессора: “Additional Preprocessor Directives…”. Очень удобная штука, когда парсинг почему-то затыкается (например какая-то опция может подхватываться из переданных CXXFLAGS) - обозначил и вперёд! Или правишь код на одной системы, а нужно исправить блок для другой: определяем “#define WIN32” и пробуем что получилось. Для быстрого доступа служит иконка с “#” в верхнем правом углу рядом с номером строки и колонки.
GUI
Тоже появилось сравнительно давно, многие просили: открытие в новом окне (Window -> Open in New Window иди Ctrl+E,4). Удобно при навигации и рефакторинге при наличии нескольких мониторов.
CMake
Про свой плагин не пишу. В мейнстриме появилась возможность задавать не один фиксированный cmake, а разные для разных наборов инструментов (Kits).
External Tools
Данный функционал оооочень давно в QtC, но очень многие его не замечают. А ведь очень много проблем можно решить с его помощью. К примеру: править исходники локально, а потом засабмитить на билд-сервер и выполнить на нём процедуру билда. Если чуть поднапрячься, можно и парсинг ошибок разобрать.
Либо вызвать cppcheck на текущий проект, либо… что в голову взбредёт.
Чего хотелось бы, но нет
- Настройки лицензии (шапки для новых файлов) индивидуально для проекта.
- Замена отдельных частей Kit индивидуально для проекта
- Более гибкая система настройки устройств для Baremetal: сейчас устройство намертво привязано к Kit со своими настройками доступа к, примеру, OpenOCD и gdb. Вот для Cypress SDK нужно как минимум два: для основной прошивки и для Bootloader.
Засим пока всё.