Russian Qt Forum
Апрель 29, 2024, 12:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 7 8 [9] 10   Вниз
  Печать  
Автор Тема: Допиливаем Qt Creator  (Прочитано 106297 раз)
m0rph
Гость
« Ответ #120 : Ноябрь 16, 2012, 22:25 »

Всем привет! Где-то около года назад я сделал небольшой патч для QtCreator, позволяющий настраивать синтаксическую подсветку для POD типов отдельно от всех остальных ключевых слов C++. Не так давно набрел на эту тему и думаю, что моя работа вполне соответствует этому проекту, поэтому если она кому-то интересна, подскажите куда можно прислать патч.
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #121 : Ноябрь 16, 2012, 23:05 »

В каком виде он у тебя? Кидай сюда или регайся на gitorious.
Записан

Гугль в помощь
m0rph
Гость
« Ответ #122 : Ноябрь 16, 2012, 23:34 »

Прикрепляю. Патч адаптирован для версии 2.6.0
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #123 : Ноябрь 17, 2012, 11:19 »

А вообще лучше бы ты создал собственный клон на gitorious и туда запихнул бы эту правку. Если это буду делать я то потеряется твое авторство.

Или можешь вступить в нашу группу, тогда можешь коммитить прямо в нужную ветку. Потом я буду отправлять твой патч, если он хорош, на gerrit для включения в основной код креатора.
Записан

Гугль в помощь
m0rph
Гость
« Ответ #124 : Ноябрь 17, 2012, 11:37 »

А каким образом можно вступить в группу? Есть у меня одна задумка по поводу креатора, может быть займусь ей в будущем в свободное время.
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #125 : Ноябрь 17, 2012, 12:30 »

Регайся на gitorious.org, сообщи мне свой username, я добавлю в группу.
Записан

Гугль в помощь
b-s-a
Гость
« Ответ #126 : Ноябрь 18, 2012, 23:19 »

Может сразу зарегистрироваться на codereview.qt-project.org и отправить патч на рассмотрение? В 2.6 не примут с вероятностью 99,9%. А вот в мастер шансов значительно больше.
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #127 : Ноябрь 18, 2012, 23:21 »

Ну я попробую отправить, как только обкатаю. Еще у меня один свой патчик есть до кучи.
Записан

Гугль в помощь
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #128 : Апрель 08, 2013, 16:30 »

Привет, написал прожку, которая фиксит pro-файл, после того, как содержимое папки/подпапок поменялось: например нужно было группы файлов h/cpp переместить в другие каталоги и т.п.
каждый раз править pro файл меня напрягло, да и через ProjectExplorer я не понял как переносить файлы в другие каталоги. А мне иногда приходится таким заниматься.
Так вот, прогжка сканирует pro файл, а потом на его основе сканирует файловую систему и обновляет pro файл на основе текущих данных. Может кому то пригодится? Хотел оформить в качестве плагина, но пока не разобрался как это сделать.
Записан
Avazart
Гость
« Ответ #129 : Май 18, 2013, 20:58 »

Пишу свой плагин для QtCtreator.

Суть  работы плагина отображать все "зависимости от DLL"  текущего открытого проекта и при необходимости скопировать все DLL в папку с exe  проекта - т.е. для удобства "переноса приложения на другие компьютеры."

Вопрос : как получить из  плагина полный путь к исполняемому файлу  exe  текущего открытого проекта, текущей сборки ( debug/release ) ?


На данный момент готово : http://www.youtube.com/watch?feature=playe...p;v=vyqmNb5sQ2Y

Но  путь определяется не совсем верно, может кто подскажет как точно определить этот путь ?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #130 : Май 18, 2013, 21:45 »

Цитировать
Вопрос : как получить из  плагина полный путь к исполняемому файлу  exe  текущего открытого проекта, текущей сборки ( debug/release ) ?

Код
C++ (Qt)
...
QList<BuildConfiguration *> list = project->activeTarget()->buildConfigurations();
...
foreach(BuildConfiguration *bc, list) {
   if (bc->buildType == BuildConfiguration::Release) {
       QString buildDirectory = bc->buildDirectory(); // < путь к директории сборки
       QString projectName = project()->displayName(); // < это должно быть имя исполняемого файла (без расширения), хотя могу ошибаться
 
       // Ну и далее скомбинируй путь к директории сборки и имя файла через QFileInfo
       // и получишь полный путь к исполняемому файлу
   }
}
 

Как то так
« Последнее редактирование: Май 18, 2013, 22:03 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
Avazart
Гость
« Ответ #131 : Май 18, 2013, 22:17 »

В принципе оно сейчас так и делается :

Код:
void DLLCollectorPlugin::triggerAction()
{
     ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
     QObject* obj= pm->getObjectByClassName(tr("ProjectExplorer::ProjectExplorerPlugin"));
     ProjectExplorer::ProjectExplorerPlugin* pep= dynamic_cast<ProjectExplorer::ProjectExplorerPlugin*>(obj);
     ProjectExplorer::Project* project= pep->currentProject();
     ProjectExplorer::Target* target= project->activeTarget();
 
     QString buildDir = target->activeBuildConfiguration()->buildDirectory();
     QString displayName= target->activeRunConfiguration()->displayName();
 
     Utils::Environment envir= target->activeBuildConfiguration()->environment();
 
     QString QtDir = envir.value(tr("QTDIR"));
 
     PluginWidget*w = new PluginWidget;
 
     w->setDirs(QtDir,buildDir,tr("C:/Windows"));
     w->setDisplayName(displayName);
 
     w->show();
}

Внутри виджета уже соединяется buildDir и displayName
Код:
ui->lineEditName->setText(ui->lineEditBuild->text()+QDir::separator()+file+tr(".exe"));

Но теряется еще одна директория ...

К примеру :

buildDirectory()- даёт "C:/Users/fujitsu/Documents/QtCreator/test/build-test-MSVC-Debug"
displayName()  - дает  "test"

А реальный путь :

C:/Users/fujitsu/Documents/QtCreator/test/build-test-MSVC-Debug/debug/test.exe

« Последнее редактирование: Май 18, 2013, 22:44 от Avazart » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #132 : Май 18, 2013, 22:56 »

Я понял. Но это скорее всего какие-то заморочки с параметрами QMake.

Вполне возможно, что что-то можно вытащить из RunConfiguration->workingDirectory. Посмотри по сорсникам.

UPD: Там есть в Run панели проекта полный путь к исполняемому файлу.
Что-то типа RunConfiguration->executable(). Глянь в общем сорцы.

UPD2: См.

Код
C++ (Qt)
QString Qt4RunConfiguration->executable() const;
« Последнее редактирование: Май 18, 2013, 23:06 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
Avazart
Гость
« Ответ #133 : Май 18, 2013, 23:53 »

Ага вот нашел

http://wiki.ifba.edu.br/apidoc/qtcreator/html-dev/projectexplorer-localapplicationrunconfiguration.html#executable

Код:
#include <projectexplorer/localapplicationrunconfiguration.h>

ProjectExplorer::LocalApplicationRunConfiguration* larc=
             dynamic_cast<ProjectExplorer::LocalApplicationRunConfiguration*>(target->activeRunConfiguration());

QString exeFileName= larc->executable();

P.S. Спасибо  за помощь !
« Последнее редактирование: Май 19, 2013, 16:05 от Avazart » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #134 : Июль 07, 2013, 11:01 »

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

UPD: Хотя, в QtCreator ( по крайней мере в v 2.8 ) есть что-то похожее - но шибко неудобное и глючное..

Код:
Tools->Debugger->General->[x] Use tooltips in main editor while debugging

Минусы:

* при наведении на какой-нить член структуры, его значение не показывается, а показывается сама структура с треугольничком, который нужно раскрыть - и тогда только можно увидеть все ее переменные!

* не всегда при наведении показывается этот тоолтип!

Блин, неудобно то как..
« Последнее редактирование: Июль 07, 2013, 14:31 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
Страниц: 1 ... 7 8 [9] 10   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.09 секунд. Запросов: 22.