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

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

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: Qt creator, рефакторинг, автоподстановка.  (Прочитано 20903 раз)
Bepec
Гость
« : Июнь 25, 2016, 15:59 »

Столкнулся с гениальной вещью. Стоит поставить препроцессорное условие, так сразу же в этом блоке перестаёт работать рефакторинг, автоподстановка, подсветка скобок и прочее.

Код:
#ifndef QT_DEBUG
{
// вот тут нихрена не работает, пока код не станет выполняться.
}
#endif

Это такая фича, или тупая бага?
PS остальные ide игнорируют это, превосходно подсвечивают скобочки и дают возможность автоподстановки функций.
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #1 : Июнь 25, 2016, 16:21 »

А QT_DEBUG определена?
А вообще-то фича, всмысле так и было задумано... Хотя меня неработающий автокомплит в таких блоках дико раздражает ((
Записан
Bepec
Гость
« Ответ #2 : Июнь 25, 2016, 16:29 »

Это автодефайн в дебажной сборке. Но бляхамуха, ладно ещё автокомплит не работает, так даже скобочки не подсвечиваются. Что за хрень блин Улыбающийся

А ещё иногда при редактировании pro файла, креатор ахреневает и все кнопки сборки становятся неактивными. Помогает только пересохранение pro файла. Это тоже фича? Улыбающийся
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #3 : Июнь 25, 2016, 16:39 »

Креатор при сохранении pro-файла выполняет обновление дерева проекта, процедура не моментальная (особенно на больших проектах), и на это время сборка/пересборка недоступны (что логично). Но по завершению обновления сборка/пересборка снова становятся доступны. У меня ни разу не возникало необходимости пересохранять файл проекта  В замешательстве
« Последнее редактирование: Июнь 25, 2016, 16:41 от kai666_73 » Записан
Bepec
Гость
« Ответ #4 : Июнь 25, 2016, 16:56 »

Нет я понимаю эту процедуру, но именно намертво ) И пишет невозможно разобрать файл проекта, без ссылки на какую либо ошибку Веселый А при пересохранении этого же файла (обновление даты файла), нормально его хавает) Вот такой гад Веселый
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #5 : Июнь 25, 2016, 17:25 »

Це странно...

Версия креатора какая?
pro-файл правится (в такие моменты) в креаторе?
автосохранение в настройках включено?
кодировка файла utf-8 без BOM?
не открыт ли файл еще в каком-нибудь редакторе с включенной функцией автосохранения (да еще и неверной умолчательной кодировкой)?

У меня такое случалось только если сохранить файл проекта, например, в notepad(++) в кодировке utf-8 с BOM.
В этом случае приходилось пересохранять в креаторе, что исправляло кодировку понятную встроенному парсеру pro-файлов.
Записан
Bepec
Гость
« Ответ #6 : Июнь 25, 2016, 17:35 »

Всё стандартно в креаторе. Причём шальная эта вещь - бывает раз 5 на дню, а бывает неделю нормально Улыбающийся

PS меня если честно бесят эти маленькие окошечки и пауза при переключении режима сборки. Неужто нельзя 1 раз прочитать, сразу все конфигурации и переключаться моментально Улыбающийся Ан нет.
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #7 : Июнь 25, 2016, 17:41 »

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

А что касается пауз при переключении конфигурации, в защиту креатора могу сказать что хранить все модели кода на каждую конфигурацию весьма и весьма накладно по памяти.
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #8 : Июнь 25, 2016, 18:54 »

А ещё иногда при редактировании pro файла, креатор ахреневает и все кнопки сборки становятся неактивными. Помогает только пересохранение pro файла. Это тоже фича? Улыбающийся
Тоже замечал. Помогает закрыть и заново открыть проект. Такая фигня длится уже давно, с полгода-год, и сегодня было. Встречается нечасто, поэтому отловить и не пытался.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Bepec
Гость
« Ответ #9 : Июнь 25, 2016, 19:55 »

Та что там хранить то, ёмоё. Проектик в 200 строк он секунды 2 переключает. Пока продуплит, пока все эти три окошечка милипизерных пройдут. По сути ж ничего не меняется совершенно.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #10 : Июнь 25, 2016, 20:06 »

в Xcode есть точно такая же «фича».

по поводу бага после редактирования .pro — тоже видел его в недавней версии, в свежей пропал.
Записан

Изучением 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
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #11 : Июнь 25, 2016, 21:44 »

Та что там хранить то, ёмоё. Проектик в 200 строк он секунды 2 переключает. Пока продуплит, пока все эти три окошечка милипизерных пройдут. По сути ж ничего не меняется совершенно.

Ну чтож вы все в кучу мешаете? Редактирование файла проекта это одно (и не спорю что есть некий баг, хотя лично с ним не сталкивался), а смена конфигурации (debug на release) это совсем другое...

При смене конфигурации для проектиков в 200 строк действия (пере)сборки становятся доступны практически моментально, а милизиперные окошки показывают процесс формирования модели кода, которая даже для небольшого Qt-го проекта занимает под сотню мегабайт. Именно эту модель кода и накладно (и даже очень накладно для больших проектов) хранить по штуке на каждую конфигурацию.
« Последнее редактирование: Июнь 25, 2016, 22:40 от kai666_73 » Записан
Bepec
Гость
« Ответ #12 : Июнь 25, 2016, 22:14 »

Я извиняюсь. Я необразован и не понимаю, откуда модель кода в сотни мб появляется? Улыбающийся Мб объясните?
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #13 : Июнь 25, 2016, 22:35 »

Я извиняюсь. Я необразован и не понимаю, откуда модель кода в сотни мб появляется? Улыбающийся Мб объясните?
Не в сотню, а под сотню. Креатор парсит все по зависимостям и библиотечные хидера и собственные исходники проекта, в случае Qt проекта набирается солидно.
Вот щас запустил креатор - без открытых проектов он отъел 70 Mb; создал новый Qt-Gui проект - отъедено 135 Mb.
Цифры примерные, но для выводов достаточные... Если открыть исходники креатора в креаторе, отожрано будет порядка 600 Мб.
Как-то так...
Записан
Bepec
Гость
« Ответ #14 : Июнь 26, 2016, 01:03 »

Я понимаю модель кода. Но чем отличается модель кода дебага от модели кода релиза?
На мой взгляд ничем, кроме вставок дефайнов, модель кода не отличается. И исходники те же, и классы те же и всё то же.
Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


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