Russian Qt Forum
Ноябрь 23, 2024, 14:50
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt-инструментарий
>
Плагин, добавляющий табы в QtCreator
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Плагин, добавляющий табы в QtCreator (Прочитано 14531 раз)
snasoft
Гость
Плагин, добавляющий табы в QtCreator
«
:
Март 22, 2014, 14:35 »
Тема вкладок для QtCreator неоднократно поднималась на многих форумах. В частности предлагалось решение с модификацией кода самого Qt Creator на
prog.org.ru
, был плагин
Editor tabs
(ныне не поддерживаемый и не совместимый с текущей версией QtCreator) , вопрос поднимался на
qt-project.org
.
Сам когда-то собирал QtCreator из исходников для поддержки табов (спасибо prog.org.ru), но вскоре прекратил эту практику (при выпуске нового QtCreator приходилось заново пересобирать его). Но вот недавно получил решение в виде плагина, который решает вопрос с табами без необходимости пересборки QtCreator (так как обладает совместимостью с новыми версиями).
Выношу этот плагин на суд общественности, надеюсь он будет полезен. Пожалуйста, пишите все замечания и предложения (в том числе по идеям о создании новых плагинов).
Ссылки:
1. Страница проекта на Sourceforge.net
QtCreator Tabbed Editor Plugin
(если Вам понравился плагин, то искренне прошу проголосовать за него при наличии времени).
Для получения исходников:
Код
Bash
svn
checkout
svn
:
//
svn.code.sf.net
/
p
/
tabbededitor
/
src
/
trunk tabbededitor-src
2. Архивы с скомпилированным плагином QtCreator (версии 3.0.0 - 3.x.x ) для:
Windows (x32-x64)
Linux x64
Linux x32
Mac OS X
Для установки плагина содержимое архива необходимо распаковать в директорию, где располагаются плагины:
для 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).
3. Статья на habrahabr.ru с более подробным описанием
Плагин, добавляющий табы в QtCreator
С уважением, Андрей.
«
Последнее редактирование: Март 23, 2014, 13:21 от snasoft
»
Записан
lesav
Частый гость
Offline
Сообщений: 235
qnx.org.ru
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #1 :
Март 22, 2014, 18:36 »
Есть возможность сборки для QtCreator 2.8 ?
Записан
http://qnx.org.ru/
snasoft
Гость
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #2 :
Март 22, 2014, 18:41 »
Поддержка старых версий не предполагалась (и не изучалась), но вы можете самостоятельно собрать плагин, внеся соответствующие изменения (при необходимости).
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #3 :
Март 22, 2014, 19:13 »
был какой-то плагин и для 2.х, даже у нас на форуме обсуждался
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
snasoft
Гость
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #4 :
Март 22, 2014, 19:50 »
Цитата: kambala от Март 22, 2014, 19:13
был какой-то плагин и для 2.х, даже у нас на форуме обсуждался
Возможно этот?
Editor Tabs
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #5 :
Март 22, 2014, 20:25 »
нет, другой:
http://gitorious.org/qt-creator-tabs
а вот и тема:
http://www.prog.org.ru/topic_18970_0.html
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
snasoft
Гость
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #6 :
Март 22, 2014, 20:31 »
Цитата: kambala от Март 22, 2014, 20:25
нет, другой:
http://gitorious.org/qt-creator-tabs
а вот и тема:
http://www.prog.org.ru/topic_18970_0.html
Цитата: kambala
был какой-то плагин и для 2.х, даже у нас на форуме обсуждался
Это не плагин, это ветка QtCreator, в которой изменены исходники самого QtCreator. Ссылка на эту тему указана в первом сообщении.
Цитировать
В частности предлагалось решение с модификацией кода самого Qt Creator на prog.org.ru
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #7 :
Март 22, 2014, 21:03 »
прочитал первый пост по диагонали и не заметил
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
snasoft
Гость
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #8 :
Март 23, 2014, 13:24 »
Обновил плагин до
версии 0.0.2
:
—
исправлена недоработка
, при которой после сохранения файла он продолжает помечаться * (как модифицированный). Случай возникал при автосохранении перед запуском сборки;
— теперь цвет берется из настроек цветовой схемы самого QtCreator'a (пример на рисунке), после смены настроек цветов необходимо перезапустить QtCreator (чтобы изменения затронули и табы);
— скроллер (элемент прокрутки табов, когда они не помещаются все одновременно) сделан непрозрачным;
— удалил весь отладочный вывод.
Исходники в репозитории и архивы обновлены для всех систем за исключением Mac OS X (пока только версия 0.0.1).
Ссылки в первом сообщении на архивы с скомпилированными плагинами теперь указывают не на файлы архивов, а на директории для загрузки под конкретную систему (сделано чтобы каждый раз не редактировать ссылки на загрузку).
Записан
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #9 :
Март 23, 2014, 16:20 »
когда переключаешся на *.ui вкладки соответственно не видны. ((
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
snasoft
Гость
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #10 :
Март 23, 2014, 17:21 »
Цитата: panAlexey от Март 23, 2014, 16:20
когда переключаешся на *.ui вкладки соответственно не видны. ((
Насколько я понимаю при переключении на *.ui задействуется уже другой режим: "design", и в рабочей области отображается тот же Designer. Лично мне кажется неудобным, что при переходе в Edit после работы с формой в режиме Design отображается XML содержимое файла *.ui. Зачем оно, ведь напрямую этот файл все равно нельзя редактировать (вроде предполагается, что он автоматически генерируется Designer'ом). Но в то же время для *.ui в режиме Edit создается вкладка, то есть в режиме Edit представление формы - это текстовое представление формы (XML файл), а в режиме Design - графическое. Теоретически возможно добавить табы (если позволит Api) поверх Designer'а, но тогда в режиме Design вкладка для ui будет открывать соответствующую форму а в режиме Edit - xml файл, в то же время вкладки с *.cpp *.h в режиме Design будут переводить в режим Edit и отображать эти файлы. Как то так.
P.S. Спасибо Вам за интересную идею дальнейшего развития плагина.
Записан
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #11 :
Март 23, 2014, 17:35 »
Цитата: snasoft от Март 23, 2014, 17:21
Цитата: panAlexey от Март 23, 2014, 16:20
когда переключаешся на *.ui вкладки соответственно не видны. ((
Насколько я понимаю при переключении на *.ui задействуется уже другой режим: "design", и в рабочей области отображается тот же Designer. Лично мне кажется неудобным, что при переходе в Edit после работы с формой в режиме Design отображается XML содержимое файла *.ui. Зачем оно, ведь напрямую этот файл все равно нельзя редактировать (вроде предполагается, что он автоматически генерируется Designer'ом). Но в то же время для *.ui в режиме Edit создается вкладка, то есть в режиме Edit представление формы - это текстовое представление формы (XML файл), а в режиме Design - графическое. Теоретически возможно добавить табы (если позволит Api) поверх Designer'а, но тогда в режиме Design вкладка для ui будет открывать соответствующую форму а в режиме Edit - xml файл, в то же время вкладки с *.cpp *.h в режиме Design будут переводить в режим Edit и отображать эти файлы. Как то так.
P.S. Спасибо Вам за интересную идею дальнейшего развития плагина.
Оу, а владеешь внутренней структурой API креатора и умеешь интегрировать в него разные вещи?
Прикольно. А вот я пока не докопался. ((
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
snasoft
Гость
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #12 :
Март 23, 2014, 18:17 »
Цитата: panAlexey
владеешь внутренней структурой API креатора и умеешь интегрировать в него разные вещи?
да как сказать владею... вот надо было узнать как отследить - модифицирован файл или нет (чтобы звездочку подрисовывать или убирать). Смотрю в списке файлов в панельке (где и обозначается * в самом QtCreator) есть элемент "<no document>" - явно он статический и "translatable", запускаю поиск этой строки по исходникам QtCreator, нахожу для какого элемента интерфейса это значение задается, потом по имени этого элемента ищу, где он используется (модифицируется), там же нахожу метод isModified() и код для использования модели документов (вроде DocumentModel, как то так). Как таковой серьезной документации для Api все равно ведь нет.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #13 :
Март 23, 2014, 22:23 »
Ох, сколько умов билось об эту задачу, сколько калорий сожжено..
В любом случае, желаю успеха в твоем начинании... Возможно, хоть у тебя получится довести это до ума..
ЗЫ:
Я плагин еще не смотрел, но сходу, вопросики:
1. Есть ли где-нить в настройках креатора галочка, для того чтобы можно было включать/отключать режим табов?
2. Можно ли кликнув и потянув мышкой за таб, перемещать его как отдельное окно? Например, переемстить на другой монитор, а потом обратно?
Записан
ArchLinux x86_64 / Win10 64 bit
snasoft
Гость
Re: Плагин, добавляющий табы в QtCreator
«
Ответ #14 :
Март 24, 2014, 18:43 »
Обновил плагин до
версии 0.0.3
.
теперь табы отображаются во всех режимах QtCreator (редактора, дизайнера, справки и др.) и расположены сразу под главным меню. Это позволяет переключаться к редактированию того или иного файла сразу из любого режима (в том числе из справочной системы, минуя переключение в режим Edit — данный режим включится автоматически).
еще одно улучшение: для форм (файлов *.ui) также появляется вкладка, при переходе на которую сразу отображается редактор формы.
Хотелось бы выразить благодарность пользователю
panAlexey
за идею этого обновления плагина.
2
kuzulis
.
Цитата: kuzulis от Март 23, 2014, 22:23
вопросики:
1. Есть ли где-нить в настройках креатора галочка, для того чтобы можно было включать/отключать режим табов?
2. Можно ли кликнув и потянув мышкой за таб, перемещать его как отдельное окно? Например, переемстить на другой монитор, а потом обратно?
1. Да, можно отключить: Help->About Plugins и убрать соответствующую галочку в столбце "Load" напротив плагина.
2. Нет, Drag and drop не поддерживается, но если вы для открытого файла выполните действие "Open In New Window" (ниспадающее меню слева от крестика закрытия файла), то для него откроется новое окно редактирования, которое можно переместить и развернуть на втором (третьем?) мониторе.
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...