Qt Creator
Qt Creator | |
---|---|
![]() | |
![]() Снимок интегрированной среды разработки Qt Creator версии 6.0.2 | |
Тип | ИСР |
Разработчик | Qt Development Frameworks |
Написана на | C++[2], Си и QML |
Интерфейс | Qt |
Операционные системы | GNU/Linux[3], Windows[3], macOS[3] и BSD[вд][3] |
Последняя версия | |
Репозиторий | code.qt.io/cgit/qt-creat… |
Лицензия | GNU LGPL и GNU GPL |
Сайт | qt.io/ide/ (англ.) (яп.) |
![]() |
Qt Creator (ранее известная под кодовым названием Greenhouse) — свободная IDE для разработки на С, C++, JavaScript и QML. Разработана Trolltech (Digia) для работы с фреймворком Qt. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием QtWidgets, так и QML. Поддерживаемые компиляторы: GCC, Clang, MinGW, MSVC, Linux ICC, GCCE, RVCT, WINSCW[4].
Особенности
Основная задача Qt Creator — упростить разработку приложения с помощью фреймворка Qt на разных платформах. Поэтому среди возможностей, присущих любой среде разработки, есть и специфичные, такие как отладка приложений на QML и отображение в отладчике данных из контейнеров Qt, встроенный дизайнер интерфейсов: как на QML, так и на QtWidgets.
Работа с проектами
Qt Creator поддерживает системы сборки qmake, cmake, autotools[5], с версии 2.7 qbs[6]. Для проектов, созданных под другими системами, может использоваться в качестве редактора исходных кодов. Есть возможность редактирования этапов сборки проекта.
Также IDE нативно поддерживает системы контроля версии, такие как Subversion, Mercurial, Git, CVS, Bazaar, Perforce. Начиная с версии 2.5, в поле комментария к правке поддерживается автодополнение.
Редактирование кода
В Qt Сreator реализовано автодополнение[7], в том числе ключевых слов, введённых в стандарте C++11 (начиная с версии 2.5), подсветка кода (её определение аналогично таковому в Kate, что позволяет создавать свои виды подсветок или использовать уже готовые). Также, начиная с версии 2.4, есть возможность задания стиля выравнивания, отступов и постановки скобок.
Реализован ряд возможностей при работе с сигнатурами методов, а именно:
- автогенерация пустого тела метода после его обновления;
- возможность автоматически изменить сигнатуру метода в определении, если она была изменена в объявлении и наоборот;
- возможность автоматически поменять порядок следования аргументов.
При навигации по коду доступно переключение между определением и объявлением метода, переход к объявлению метода, переименование метода как в отдельном проекте, так и во всех открытых. Также есть возможность вызвать справку согласно текущему контексту.
Отладка кода
Среда разработки имеет графический интерфейс для следующих отладчиков: GDB, CDB и QML/JavaScript. В качестве отдельной опции реализовано отображение содержимого контейнеров, таких как QString, std::map и прочих. Поддерживаются следующие режимы отладки:
- простой для отладки локально запущенных приложений, таких как GUI приложения на Qt;
- терминал для отладки локально запущенных процессов, которым требуется консоль, обычно это приложения без GUI;
- подключённый для отладки локальных процессов, запущенных вне Qt Creator;
- удалённый для отладки запущенных на другой машине процессов (используя gdbserver);
- ядро для отладки завершившихся аварийно процессов на Unix;
- Post-mortem для отладки завершившихся аварийно процессов на Windows;
- TRK для отладки процессов, запущенных на устройстве Symbian.
Точки остановки можно задать различными способами, а именно:
- останавливаться на заданной строчке заданного файла;
- останавливаться при вызове функции с определенным именем;
- останавливаться при обращении к данным по заданному адресу;
- останавливаться при поимке исключения;
- останавливаться при запуске или создании нового процесса;
- останавливаться при выполнении системного вызова;
- останавливаться при изменении в данных с адресами, заданными выражением.
Архитектура
Функция main по сути своей — вызов загрузчика плагинов, которые и реализуют всю функциональность. Поэтому все компоненты QtCreator так или иначе связаны с плагинами[8].
ExtensionSystem представляет интерфейс для разработки плагинов, обеспечивает загрузку плагинов и базовое взаимодействие. Содержит в себе класс-интерфейс IPlugin, от которого должны наследоваться все плагины в программе.
Aggregation содержит функции и классы, предназначенные для объединения нескольких компонентов в единое целое.
Utils — библиотека утилит, которые могут вызывать плагины.
QmlJS — библиотека для поддержки QML и JavaScript.
Примечания
- ↑ Qt Creator 14.0.1 released — 2024.
- ↑ The qt-creator Open Source Project on Open Hub: Languages Page — 2006.
- ↑ 1 2 3 4 Free Software Directory
- ↑ Qt Creator : Adding Tool Chains Архивировано 17 ноября 2015 года.
- ↑ Qt Creator : Using Other Build Systems Архивировано 22 июня 2012 года.
- ↑ Qt Creator 2.7: QBS менеджер проектов под капотом / Хабрахабр (неопр.). Дата обращения: 5 июня 2013. Архивировано 9 июня 2013 года.
- ↑ начиная с версии 2.5.1 устранена проблема автодополнения функций шаблонных классов
- ↑ Qt Creator : Qt Creator API Reference Архивировано 26 июня 2012 года.
Ссылки
- Официальная страница Qt Creator
- Перевод документации Qt Creator на русский язык
- Страница загрузки Qt Creator
- Страница загрузки тестовых и архивных версий и Qt Creator, а также архивов исходных кодов
- Страница проекта на qt.io
- Система расширений Qt Creator, инструкция по разработке плагинов на русском