Комментарии 37
НЛО прилетело и опубликовало эту надпись здесь
Я сколько ни работал со списком открытых файлов QtCreator, так комфорт и не почувствовал. Авторы говорят про «больше 10», а нахрена оно мне больше 10? В реальности как раз обычно и открыто 6-10 вкладок, дальше уже теряешься. Ctrl-Tab неудобно, Ctrl-K еще нормально.
В общем, за плагин Вам большой респект. Ну вот отсутствие сплита — фатальнейший недостаток. Не представляю, как работать на мониторе с одним открытым исходником.
В общем, за плагин Вам большой респект. Ну вот отсутствие сплита — фатальнейший недостаток. Не представляю, как работать на мониторе с одним открытым исходником.
0
Так ctrl+e,3 же?
0
Сам сплит есть, как часть самого QtCreator. Нет его поддержки плагином в том смысле, что при разбиении редактора на две области TabBar остается один для обеих областей, что на мой взгляд не совсем правильно (но привыкнуть возможно). Хотелось бы, чтобы TabBar создавался свой для каждого сплита, но я не вижу способа, как это сделать только с помощью API (не затрагивая закрытые методы и данные самого QtCreator).
0
фиг знает. У меня всегда в креаторе открыто больше 10. Я бы сказал от 20 примерно и до бесконечности
0
Супер! А плагина добавляющего нормальный тулбар с кнопками нет еще?
(впрочем, как я понимаю исходники этого плагина открыты, значит можно разорбраться и написать самому, но вддуг уже готовое есть?)
(впрочем, как я понимаю исходники этого плагина открыты, значит можно разорбраться и написать самому, но вддуг уже готовое есть?)
0
Мне такого плагина не попадалось (готовлю статью-обзор существующих плагинов сторонних разработчиков и ищу их на GitHub, sourceforge, форумах), но его действительно можно написать самому. В частности в функции initialize плагина необходимо получить указатель на виджет, в котором размещаются менеджер редакторов (EditorManager) (а вместе с ним и все редакторы):
и в нем уже разместить нужные виджеты, например QFrame:
необходимо также добавить заголовочный файл менеджера редакторов (помимо прочих):
А какие действия, на ваш взгляд, целесообразно вынести в ToolBar? Мне на ум пришло «Auto Indent», которое выделяет весь текст и выполняет для него «Auto Indent Selection» (для этого действия по умолчанию нет хоткея). Или например «Advancend Find For Current Project» (для которого есть хот-кей из трех клавиш, но требуется еще выбор из ListBox'a). Конечно целесообразно сделать состав ToolBar'a настраиваемым, но в нем все равно должны быть какие-то действия по умолчанию (наиболее востребованные, за которыми неудобно лезть в меню или для которых есть сложные комбинации клавиш).
Core::EditorManager *em = Core::EditorManager::instance();
Core::EditorManagerPlaceHolder *emph = static_cast<Core::EditorManagerPlaceHolder* >(em->parent());
и в нем уже разместить нужные виджеты, например QFrame:
QFrame backgroundFrame = new QFrame(emph);
emph->layout()->addWidget(backgroundFrame);
необходимо также добавить заголовочный файл менеджера редакторов (помимо прочих):
#include <coreplugin/editormanager/editormanager.h>
А какие действия, на ваш взгляд, целесообразно вынести в ToolBar? Мне на ум пришло «Auto Indent», которое выделяет весь текст и выполняет для него «Auto Indent Selection» (для этого действия по умолчанию нет хоткея). Или например «Advancend Find For Current Project» (для которого есть хот-кей из трех клавиш, но требуется еще выбор из ListBox'a). Конечно целесообразно сделать состав ToolBar'a настраиваемым, но в нем все равно должны быть какие-то действия по умолчанию (наиболее востребованные, за которыми неудобно лезть в меню или для которых есть сложные комбинации клавиш).
0
Да все то же самое что и в Студии. Я например заметил, что пользуюсь в Студии кнопками: Save, Save all, Undo, Redo, Switch cpp/h, Build, Rebuild, Find. Navigate forward/backward, build, run и debug — уже есть в creator'e. В идеале конечно лучше всего сделать диалог настроек, в котором можно самому конфигурировать тулбар, добавляя в него действия и перемещая пиктограммы.
В Creator'е даже кнопки Save нет, а у меня привычка время от времени сохранять изменения. На автомате веду курсор мыши к левому верхнему углу, а там ничего нет… неуютно:)
В Creator'е даже кнопки Save нет, а у меня привычка время от времени сохранять изменения. На автомате веду курсор мыши к левому верхнему углу, а там ничего нет… неуютно:)
0
Если есть желание написать плагин, добавляющий ToolBar, то возможно вам пригодится:
1. добавление QToolBar в QtCreator
2. получение списка всех команд, зарегистрированных в QtCreator
1. добавление QToolBar в QtCreator
QWidget *coreWidget = Core::ICore::mainWindow(); //получаем указатель на главный виджет QtCreator
QMainWindow *mainWindow = qobject_cast<QMainWindow *>(coreWidget); //преобразуем в QMainWindow
//далее добавляем ToolBar как к обычному QMainWindow
QToolBar * fileToolBar = new QToolBar(QString::fromUtf8("Tools"));
mainWindow->addToolBar(fileToolBar);
2. получение списка всех команд, зарегистрированных в QtCreator
QList<Core::Command *> commandsList = Core::ActionManager::commands();
for (int i = 0 ; i < commandsList.count() ; i++)
{
if (commandsList.at(i)->action()) //не у всех Command есть свой QAction
{
qDebug() << QString::fromUtf8("Action: ")
<< commandsList.at(i)->action()->text()
<< QString::fromUtf8( "Description: ")
<< commandsList.at(i)->description();
}
}
+1
Огромное спасибо за такой полезный плагин. Несколько предложений, которые помогут его улучшить:
1. Я использую Qt Creator со своей цветовой гаммой, и лента табов в таком случае выглядит несколько инородно:
Есть ли возможность прочитать цвет среды, используемый пользователем и применить его к табу (1)? А фон ленты табов сделать, например, на основе цвета MenuBar'а (2). В исходниках Qt Creator можно найти функцию, отвечающую за установку цветовых градиентов GUI-элементов на основе выбранного пользователем цвета.
2. Вот этот момент хотелось бы отшлифовать:
Если в ленту не входят все вкладки, появляются кнопки, налезающие на её название. Быть может сделать так, чтобы кнопки никогда не накладывались на название, а были всегда рядом? На мой взгляд, так лаконичнее:
1. Я использую Qt Creator со своей цветовой гаммой, и лента табов в таком случае выглядит несколько инородно:
Есть ли возможность прочитать цвет среды, используемый пользователем и применить его к табу (1)? А фон ленты табов сделать, например, на основе цвета MenuBar'а (2). В исходниках Qt Creator можно найти функцию, отвечающую за установку цветовых градиентов GUI-элементов на основе выбранного пользователем цвета.
2. Вот этот момент хотелось бы отшлифовать:
Если в ленту не входят все вкладки, появляются кнопки, налезающие на её название. Быть может сделать так, чтобы кнопки никогда не накладывались на название, а были всегда рядом? На мой взгляд, так лаконичнее:
0
Спасибо за ценные предложения, обязательно доработаю по всем пунктам. Даже и не знал, что такие цветовые схемы существуют. А вот про налезающие кнопки знал, но сам «схалявил» — подумал что мало кто заметит.
+1
А расскажите как вы сделали свою цветовую гамму?
0
Видимо в настройках Environment->General в группе User Interface выбрать цвет с помощью Color Picker
0
В настройках Qt Creator, как уже отметил snasoft.
А если вы хотите более продвинутую настройку цветовой гаммы, советую заглянуть в этот топик.
А если вы хотите более продвинутую настройку цветовой гаммы, советую заглянуть в этот топик.
0
Ну наконец-то! Спасибо!
0
Обновил до версии 0.0.2:
— исправлена недоработка, при которой после сохранения файла он продолжает помечаться * (как модифицированный). Случай возникал при автосохранении перед запуском сборки;
— теперь цвет берется из настроек цветовой схемы самого QtCreator'a (пример на рисунке), после смены настроек цветов необходимо перезапустить QtCreator (чтобы изменения затронули и табы);
— скроллер (элемент прокрутки табов, когда они не помещаются все одновременно) сделан непрозрачным;
— удалил весь отладочный вывод.
Исходники в репозитории и архивы обновлены для всех систем за исключением Mac OS X (пока только версия 0.0.1).
Ссылки в статье на архивы с скомпилированными плагинами теперь указывают не на файлы архивов, а на директории для загрузки под конкретную систему (сделано чтобы каждый раз не редактировать ссылки на загрузку).
— исправлена недоработка, при которой после сохранения файла он продолжает помечаться * (как модифицированный). Случай возникал при автосохранении перед запуском сборки;
— теперь цвет берется из настроек цветовой схемы самого QtCreator'a (пример на рисунке), после смены настроек цветов необходимо перезапустить QtCreator (чтобы изменения затронули и табы);
— скроллер (элемент прокрутки табов, когда они не помещаются все одновременно) сделан непрозрачным;
— удалил весь отладочный вывод.
Исходники в репозитории и архивы обновлены для всех систем за исключением Mac OS X (пока только версия 0.0.1).
Ссылки в статье на архивы с скомпилированными плагинами теперь указывают не на файлы архивов, а на директории для загрузки под конкретную систему (сделано чтобы каждый раз не редактировать ссылки на загрузку).
+2
Отличный плагин, но табы пропадают при переключении из режима «Edit» в «Debug» или «Analyze».
0
Обновил до версии 0.0.3.
- теперь табы отображаются во всех режимах QtCreator (редактора, дизайнера, справки и др.) и расположены сразу под главным меню. Это позволяет переключаться к редактированию того или иного файла сразу из любого режима (в том числе из справочной системы, минуя переключение в режим Edit — данный режим включится автоматически).
- еще одно улучшение: для форм (файлов *.ui) также появляется вкладка, при переходе на которую сразу отображается редактор формы.
+3
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за отзыв.
Просмотрел мельком Цикл статей по сборке RPM и DEB пакетов. Там везде указывается, что пакеты собариются для программы, а тут ведь просто плагин, имеет ли смысл для него делать RPM? Мне просто интересно, какие преимущества у RPM перед простым копированием плагина в папку? Вообще (на мой взгляд) было бы здорово, если бы QtCreator имел полнофункциональный менеджер плагинов, который самостоятельно (или по команде) будет проверять обновления, обновлять существующие плагины, предоставлять список доступных (и новых) плагинов из единого репозитория. Сейчас же, если человек сам не заинтересуется в возможности расширения функционала IDE за счет плагинов, то скорее он о них и не узнает.
Просмотрел мельком Цикл статей по сборке RPM и DEB пакетов. Там везде указывается, что пакеты собариются для программы, а тут ведь просто плагин, имеет ли смысл для него делать RPM? Мне просто интересно, какие преимущества у RPM перед простым копированием плагина в папку? Вообще (на мой взгляд) было бы здорово, если бы QtCreator имел полнофункциональный менеджер плагинов, который самостоятельно (или по команде) будет проверять обновления, обновлять существующие плагины, предоставлять список доступных (и новых) плагинов из единого репозитория. Сейчас же, если человек сам не заинтересуется в возможности расширения функционала IDE за счет плагинов, то скорее он о них и не узнает.
0
Собранный плагин не работает с QtCreator 3.1.2 (Windows)
Не удалось разрешить зависимость «Core(3.0.0)»
Не удалось разрешить зависимость «TextEditor(3.0.0)»
Не удалось разрешить зависимость «Core(3.0.0)»
Не удалось разрешить зависимость «TextEditor(3.0.0)»
+1
Под QtCreator 3.2 не собирается.
tabsforeditorswidget.cpp:6:36: fatal error: texteditor/itexteditor.h: Нет такого файла или каталога
0
На QtCreator 3.3 не пашет.
i.imgur.com/qHa380S.png
i.imgur.com/qHa380S.png
0
Чуток помучался и пересобрал под виндовый QtCreator 3.3 (Qt 5.4, MSVC2010 32bit)
rghost.ru/59805657
rghost.ru/59805657
+1
Добавил бинарник сюда: github.com/stepanp/qtcreator-tabbededitor-plugin/releases/tag/v0.0.4
+1
Актуальная версия на GitHub (Форк разработчика Oleg Shparber, на SourceForge плагин не работает в новых версиях QtCreator).
0
Прошу прощения, в комментарии выше неверно указана ссылка, правильная: github.com/trollixx/qtcreator-tabbededitor-plugin
0
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
Плагин, добавляющий табы в QtCreator