Для старых версий Qt Creator, в том числе и 2.0.1, см. пост "Пишем плагин для Qt Creator - часть 1". Этот пост актуален для Qt Creator 2.1.





Что нужно для сборки.
Я использовал библиотеку Qt 4.7.0 для MSVC. Библиотеку я не переконфигурировал. Я пробовал Qt 4.7.1, но с ней Qt Creator не линкуется.
Я собирал плагин в Qt Creator 2.1 beta 2. Также нужны его исходники, поскольку сгенерированный плагин не совместим со старыми версиями Creator'а.
Создаем новый плагин.
Во-первых, надо собрать дебаг билд Qt Creator из исходников. Используем shadow build:
Проект с построенным Qt Creator можно закрывать.
Во-вторых, создаем новый плагин. В качестве билд-директории будем использовать ту же билд директорию, что и для самого Qt Creator, иначе плагин не соберется. Директорию с исходниками плагина лучше создавать на том же уровне (параллельно) что и билд директория с исходниками Qt Creator, иначе Creator будет жаловаться, хотя и не фатально.
Что получили.
Мастер нового плагина сгенерировал файл проекта, в котором прописаны несколько вещей:
- PROVIDER (определяет директорию, где появится плагин в lib\qtcreator\plugins, обычно это Nokia)
- QTCREATOR_SOURCES (путь к исходникам Qt Creator)
- IDE_BUILD_TREE (билд директория)
- LIBS (путь к библиотекам)
и хорошо знакомые
- TARGET (= DoNothing)
- TEMPLATE (= lib)
- SOURCES
- HEADERS
- OTHER_FILES
Также созданы файлы:
- DoNothing.pluginspec
- donothing.cpp
- donothing.h
- donothing_global.h
Я здесь содержимое этих файлов приводить не буду. Pluginspec не изменился. Сишник и хедер определяют минимальные методы плагина и реализуют новый пункт меню Tools.
Сборка.
В Build Settings плагина DoNothing указывем нужную билд-директорию.
Запускаем только что собранный Qt Creator (можно из самого Qt Creator, если не закрыли). Выбираем пункт меню Help->About Plugins... Находим в списке наш плагин:
Также, в меню Tools добавился пункт DoNothing->DoNothing action:
Что нужно для отладки.
Во-первых, проверяем Run Settings плагина: Run Configuration- запускать только что собранный Qt Creator, исполняемый файл- он же, Working directory- $BUILDDIR:
Во-вторых, открываем donothing.cpp и ставим где-нибудь точку останова. Например, но выходе из DoNothingImpl::initialize().
В-третьих, запускаем отладку плагина. Я получил сообщение, что нету дебаг хелперов. Жмем Continue Aniway. Qt Creator стартует и останавливается на нашем бряке:
