Как стать автором
Обновить

Комментарии 37

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Для Linux плагины QtCreator располагаются в директории ${qt-dir}/Tools/QtCreator/lib/qtcreator/plugins
НЛО прилетело и опубликовало эту надпись здесь
Я сколько ни работал со списком открытых файлов QtCreator, так комфорт и не почувствовал. Авторы говорят про «больше 10», а нахрена оно мне больше 10? В реальности как раз обычно и открыто 6-10 вкладок, дальше уже теряешься. Ctrl-Tab неудобно, Ctrl-K еще нормально.
В общем, за плагин Вам большой респект. Ну вот отсутствие сплита — фатальнейший недостаток. Не представляю, как работать на мониторе с одним открытым исходником.
Так ctrl+e,3 же?
Это сплит. При чем здесь это?
Сам сплит есть, как часть самого QtCreator. Нет его поддержки плагином в том смысле, что при разбиении редактора на две области TabBar остается один для обеих областей, что на мой взгляд не совсем правильно (но привыкнуть возможно). Хотелось бы, чтобы TabBar создавался свой для каждого сплита, но я не вижу способа, как это сделать только с помощью API (не затрагивая закрытые методы и данные самого QtCreator).
Сегодня потестил — нормально. Если по памяти разбить, что первые 5 вкладок к левой панели, а вторые 5 — к правой, то все удобно.
Спасибо!
фиг знает. У меня всегда в креаторе открыто больше 10. Я бы сказал от 20 примерно и до бесконечности
Супер! А плагина добавляющего нормальный тулбар с кнопками нет еще?
(впрочем, как я понимаю исходники этого плагина открыты, значит можно разорбраться и написать самому, но вддуг уже готовое есть?)
Мне такого плагина не попадалось (готовлю статью-обзор существующих плагинов сторонних разработчиков и ищу их на GitHub, sourceforge, форумах), но его действительно можно написать самому. В частности в функции initialize плагина необходимо получить указатель на виджет, в котором размещаются менеджер редакторов (EditorManager) (а вместе с ним и все редакторы):
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 настраиваемым, но в нем все равно должны быть какие-то действия по умолчанию (наиболее востребованные, за которыми неудобно лезть в меню или для которых есть сложные комбинации клавиш).
Да все то же самое что и в Студии. Я например заметил, что пользуюсь в Студии кнопками: Save, Save all, Undo, Redo, Switch cpp/h, Build, Rebuild, Find. Navigate forward/backward, build, run и debug — уже есть в creator'e. В идеале конечно лучше всего сделать диалог настроек, в котором можно самому конфигурировать тулбар, добавляя в него действия и перемещая пиктограммы.
В Creator'е даже кнопки Save нет, а у меня привычка время от времени сохранять изменения. На автомате веду курсор мыши к левому верхнему углу, а там ничего нет… неуютно:)
В Creator'е даже кнопки Save нет, а у меня привычка время от времени сохранять изменения.

Ctrl+S же
Я знаю, но мне ближе кнопки на тулбаре. Из всех клавиш пользуюсь почему-то толко Ctr+F и сочетаниями для copy/cut/paste.
Если есть желание написать плагин, добавляющий ToolBar, то возможно вам пригодится:

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. Я использую Qt Creator со своей цветовой гаммой, и лента табов в таком случае выглядит несколько инородно:

image

Есть ли возможность прочитать цвет среды, используемый пользователем и применить его к табу (1)? А фон ленты табов сделать, например, на основе цвета MenuBar'а (2). В исходниках Qt Creator можно найти функцию, отвечающую за установку цветовых градиентов GUI-элементов на основе выбранного пользователем цвета.

2. Вот этот момент хотелось бы отшлифовать:

image

Если в ленту не входят все вкладки, появляются кнопки, налезающие на её название. Быть может сделать так, чтобы кнопки никогда не накладывались на название, а были всегда рядом? На мой взгляд, так лаконичнее:

image
Спасибо за ценные предложения, обязательно доработаю по всем пунктам. Даже и не знал, что такие цветовые схемы существуют. А вот про налезающие кнопки знал, но сам «схалявил» — подумал что мало кто заметит.
А расскажите как вы сделали свою цветовую гамму?
Видимо в настройках Environment->General в группе User Interface выбрать цвет с помощью Color Picker

В настройках Qt Creator, как уже отметил snasoft.
А если вы хотите более продвинутую настройку цветовой гаммы, советую заглянуть в этот топик.
Ну наконец-то! Спасибо!
Обновил до версии 0.0.2:

исправлена недоработка, при которой после сохранения файла он продолжает помечаться * (как модифицированный). Случай возникал при автосохранении перед запуском сборки;
— теперь цвет берется из настроек цветовой схемы самого QtCreator'a (пример на рисунке), после смены настроек цветов необходимо перезапустить QtCreator (чтобы изменения затронули и табы);
— скроллер (элемент прокрутки табов, когда они не помещаются все одновременно) сделан непрозрачным;
— удалил весь отладочный вывод.



Исходники в репозитории и архивы обновлены для всех систем за исключением Mac OS X (пока только версия 0.0.1).
Ссылки в статье на архивы с скомпилированными плагинами теперь указывают не на файлы архивов, а на директории для загрузки под конкретную систему (сделано чтобы каждый раз не редактировать ссылки на загрузку).
Отличный плагин, но табы пропадают при переключении из режима «Edit» в «Debug» или «Analyze».
Обновил до версии 0.0.3.
  • теперь табы отображаются во всех режимах QtCreator (редактора, дизайнера, справки и др.) и расположены сразу под главным меню. Это позволяет переключаться к редактированию того или иного файла сразу из любого режима (в том числе из справочной системы, минуя переключение в режим Edit — данный режим включится автоматически).
  • еще одно улучшение: для форм (файлов *.ui) также появляется вкладка, при переходе на которую сразу отображается редактор формы.

НЛО прилетело и опубликовало эту надпись здесь
Спасибо за отзыв.
Просмотрел мельком Цикл статей по сборке RPM и DEB пакетов. Там везде указывается, что пакеты собариются для программы, а тут ведь просто плагин, имеет ли смысл для него делать RPM? Мне просто интересно, какие преимущества у RPM перед простым копированием плагина в папку? Вообще (на мой взгляд) было бы здорово, если бы QtCreator имел полнофункциональный менеджер плагинов, который самостоятельно (или по команде) будет проверять обновления, обновлять существующие плагины, предоставлять список доступных (и новых) плагинов из единого репозитория. Сейчас же, если человек сам не заинтересуется в возможности расширения функционала IDE за счет плагинов, то скорее он о них и не узнает.
Собранный плагин не работает с QtCreator 3.1.2 (Windows)
Не удалось разрешить зависимость «Core(3.0.0)»
Не удалось разрешить зависимость «TextEditor(3.0.0)»
Решение:
Открываем файл TabbedEditor.pluginspec в папке с плагином.

<dependency name="Core" version="3.0.0"/>
<dependency name="TextEditor" version="3.0.0"/>

исправляем на

<dependency name="Core" version="3.1.2"/>
<dependency name="TextEditor" version="3.1.2"/>
Огромное спасибо.
Под QtCreator 3.2 не собирается.
tabsforeditorswidget.cpp:6:36: fatal error: texteditor/itexteditor.h: Нет такого файла или каталога
Чуток помучался и пересобрал под виндовый QtCreator 3.3 (Qt 5.4, MSVC2010 32bit)
rghost.ru/59805657
Здравствуйте.
Есть ли обновления для плагина? Последний релиз от декабря 2014, т.е. более 5 лет назад.
Спасибо.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории