Pull to refresh

Плагин, добавляющий табы в QtCreator

Reading time 3 min
Views 18K

В статье описан способ добавления в QtCreator вкладок с помощью системы расширений (плагина), который не требует модификации исходного кода самого QtCreator.

При переходе на использование IDE QtCreator кажется необычным отсутствие привычных вкладок для открытых файлов. Со временем привыкаешь к другими средствами навигации по исходниками. В QtCreator таких средств насчитывается как минимум шесть:
  • для переключения между .h и .cpp файлами удобно использовать клавишу F4;
  • все открытые файлы отображаются в панели «Open Documents»;
  • Ctrl+Tab отобразит список всех открытых файлов прямо в области редактирования;
  • Ctrl+K отобразит список файлов с фильтрацией по мере ввода текста;
  • Alt+Left позволяет перемещаться по истории навигации между открытыми файлами;
  • также можно осуществлять навигацию по дереву проекта.

Все эти способы незаменимы, когда ведется редактирование множества файлов одновременно. При редактировании небольшого количества исходников использование вкладок, по моему скромному мнению, является более удобным. В пользу вкладок также говорит их широкое использование при реализации интерфейса MDI (Multi Document Interface) в средах разработки, текстовых редакторах, программах просмотра и браузерах.

Тема вкладок неоднократно поднималась на форумах. Разработчики даже включили вопрос «Why does Qt Creator not use tabs for editors?» в перечень F.A.Q. В ответе на этот вопрос приводятся следующие аргументы:
  • Табы — это не масштабируемое решение. Они хорошо работают при 5-6 открытых редакторах, но становятся грамоздкими при 10-ти. При дальнейшем увеличении количества редактируемых файлов навигация с помощью табов становится очень затруднительной.
  • Табы не адаптируются под ваши настройки рабочего окружения.
  • Табы принуждают вас ограничивать число открытых редакторов, так как в ином случае вы начинаете путаться.

Чтобы этот плагин не шел в разрез с идеологией QtCreator предлагаю сразу ограничить область его применения: редактирование небольшого (до 10) числа файлов. Плагин конечно позволяет открывать и большее число редакторов, но в этом случае все же лучше использовать возможности QtCreator, перечисленные в начале статьи.

Основные особенности:
  • гармоничный QSS стиль табов (вкладки не мозолят глаза и съедают всего порядка 18 px);
  • поддержка цветовых схем QtCreator (Tools->Options-Environment->General->Color);
  • возможность переключения между 10-ти вкладками комбинацией клавиш (Ctrl+Alt+N, где N — клавиша в цифровом ряду от 1 до 0 ). Пытался добавить более короткие комбинации клавиш, но все они оказались уже «зарезервированы»;
  • отображение вкладок во всех режимах (Edit, Design, etc), что позволяет переключаться между редактированием *.ui формы и файлом соответствующего класса в один клик мыши по табу (или с помощью горячих клавиш).

Плагин не лишен недостатков:
  • в настоящее время плагин не полностью поддерживает split-конфигурацию окна редактора (когда область редактирования разделяется на несколько подобластей TabBar остается один для всех).

P.S. Прошу воспринимать этот небольшой пост как анонс еще одного плагина. Надеюсь он будет полезен сообществу Qt-программистов.

Ссылки:

1. Страница проекта на Sourceforge.net (в настоящее время не поддерживается, для новых версий QtCreator смотрите ссылку 2).
2. Форк разработчика Oleg Shparber на GitHub. Исходники работающего в новых версиях плагина стоит искать там.

Для установки плагина содержимое архива необходимо распаковать в директорию, где располагаются плагины:
для Windows обычно C:\Qt\Tools\QtCreator\lib\qtcreator\plugins.
для Lunux-based систем /home/username/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plugins при установке Qt в директорию пользователя. Или (как вариант) /opt/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plugins (устанавливалось на Ubuntu).
для Mac OS X /Applications/Qt Creator.app/Contents/PlugIns
Tags:
Hubs:
+19
Comments 37
Comments Comments 37

Articles