Russian Qt Forum
Ноябрь 25, 2024, 19:13
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt-инструментарий
>
Qt creator, рефакторинг, автоподстановка.
Страниц: [
1
]
2
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Qt creator, рефакторинг, автоподстановка. (Прочитано 20919 раз)
Bepec
Гость
Qt creator, рефакторинг, автоподстановка.
«
:
Июнь 25, 2016, 15:59 »
Столкнулся с гениальной вещью. Стоит поставить препроцессорное условие, так сразу же в этом блоке перестаёт работать рефакторинг, автоподстановка, подсветка скобок и прочее.
Код:
#ifndef QT_DEBUG
{
// вот тут нихрена не работает, пока код не станет выполняться.
}
#endif
Это такая фича, или тупая бага?
PS остальные ide игнорируют это, превосходно подсвечивают скобочки и дают возможность автоподстановки функций.
Записан
kai666_73
Крякер
Offline
Сообщений: 319
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #1 :
Июнь 25, 2016, 16:21 »
А QT_DEBUG определена?
А вообще-то фича, всмысле так и было задумано... Хотя меня неработающий автокомплит в таких блоках дико раздражает ((
Записан
Bepec
Гость
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #2 :
Июнь 25, 2016, 16:29 »
Это автодефайн в дебажной сборке. Но бляхамуха, ладно ещё автокомплит не работает, так даже скобочки не подсвечиваются. Что за хрень блин
А ещё иногда при редактировании pro файла, креатор ахреневает и все кнопки сборки становятся неактивными. Помогает только пересохранение pro файла. Это тоже фича?
Записан
kai666_73
Крякер
Offline
Сообщений: 319
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #3 :
Июнь 25, 2016, 16:39 »
Креатор при сохранении pro-файла выполняет обновление дерева проекта, процедура не моментальная (особенно на больших проектах), и на это время сборка/пересборка недоступны (что логично). Но по завершению обновления сборка/пересборка снова становятся доступны. У меня ни разу не возникало необходимости пересохранять файл проекта
«
Последнее редактирование: Июнь 25, 2016, 16:41 от kai666_73
»
Записан
Bepec
Гость
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #4 :
Июнь 25, 2016, 16:56 »
Нет я понимаю эту процедуру, но именно намертво ) И пишет невозможно разобрать файл проекта, без ссылки на какую либо ошибку
А при пересохранении этого же файла (обновление даты файла), нормально его хавает) Вот такой гад
Записан
kai666_73
Крякер
Offline
Сообщений: 319
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #5 :
Июнь 25, 2016, 17:25 »
Це странно...
Версия креатора какая?
pro-файл правится (в такие моменты) в креаторе?
автосохранение в настройках включено?
кодировка файла utf-8 без BOM?
не открыт ли файл еще в каком-нибудь редакторе с включенной функцией автосохранения (да еще и неверной умолчательной кодировкой)?
У меня такое случалось только если сохранить файл проекта, например, в notepad(++) в кодировке utf-8 с BOM.
В этом случае приходилось пересохранять в креаторе, что исправляло кодировку понятную встроенному парсеру pro-файлов.
Записан
Bepec
Гость
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #6 :
Июнь 25, 2016, 17:35 »
Всё стандартно в креаторе. Причём шальная эта вещь - бывает раз 5 на дню, а бывает неделю нормально
PS меня если честно бесят эти маленькие окошечки и пауза при переключении режима сборки. Неужто нельзя 1 раз прочитать, сразу все конфигурации и переключаться моментально
Ан нет.
Записан
kai666_73
Крякер
Offline
Сообщений: 319
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #7 :
Июнь 25, 2016, 17:41 »
По поводу проблемы с правкой ничего сказать не могу - все что, по-моему, может быть причиной я уже высказал...
А что касается пауз при переключении конфигурации, в защиту креатора могу сказать что хранить все модели кода на каждую конфигурацию весьма и весьма накладно по памяти.
Записан
sergek
Гипер активный житель
Offline
Сообщений: 872
Мы должны приносить пользу людям.
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #8 :
Июнь 25, 2016, 18:54 »
Цитата: Bepec от Июнь 25, 2016, 16:29
А ещё иногда при редактировании pro файла, креатор ахреневает и все кнопки сборки становятся неактивными. Помогает только пересохранение pro файла. Это тоже фича?
Тоже замечал. Помогает закрыть и заново открыть проект. Такая фигня длится уже давно, с полгода-год, и сегодня было. Встречается нечасто, поэтому отловить и не пытался.
Записан
Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Bepec
Гость
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #9 :
Июнь 25, 2016, 19:55 »
Та что там хранить то, ёмоё. Проектик в 200 строк он секунды 2 переключает. Пока продуплит, пока все эти три окошечка милипизерных пройдут. По сути ж ничего не меняется совершенно.
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #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
Сообщений: 319
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #11 :
Июнь 25, 2016, 21:44 »
Цитата: Bepec от Июнь 25, 2016, 19:55
Та что там хранить то, ёмоё. Проектик в 200 строк он секунды 2 переключает. Пока продуплит, пока все эти три окошечка милипизерных пройдут. По сути ж ничего не меняется совершенно.
Ну чтож вы все в кучу мешаете? Редактирование файла проекта это одно (и не спорю что есть некий баг, хотя лично с ним не сталкивался), а смена конфигурации (debug на release) это совсем другое...
При смене конфигурации для проектиков в 200 строк действия (пере)сборки становятся доступны практически моментально, а милизиперные окошки показывают процесс формирования модели кода, которая даже для небольшого Qt-го проекта занимает под сотню мегабайт. Именно эту модель кода и накладно (и даже очень накладно для больших проектов) хранить по штуке на каждую конфигурацию.
«
Последнее редактирование: Июнь 25, 2016, 22:40 от kai666_73
»
Записан
Bepec
Гость
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #12 :
Июнь 25, 2016, 22:14 »
Я извиняюсь. Я необразован и не понимаю, откуда модель кода в сотни мб появляется?
Мб объясните?
Записан
kai666_73
Крякер
Offline
Сообщений: 319
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #13 :
Июнь 25, 2016, 22:35 »
Цитата: Bepec от Июнь 25, 2016, 22:14
Я извиняюсь. Я необразован и не понимаю, откуда модель кода в сотни мб появляется?
Мб объясните?
Не в сотню, а под сотню. Креатор парсит все по зависимостям и библиотечные хидера и собственные исходники проекта, в случае Qt проекта набирается солидно.
Вот щас запустил креатор - без открытых проектов он отъел 70 Mb; создал новый Qt-Gui проект - отъедено 135 Mb.
Цифры примерные, но для выводов достаточные... Если открыть исходники креатора в креаторе, отожрано будет порядка 600 Мб.
Как-то так...
Записан
Bepec
Гость
Re: Qt creator, рефакторинг, автоподстановка.
«
Ответ #14 :
Июнь 26, 2016, 01:03 »
Я понимаю модель кода. Но чем отличается модель кода дебага от модели кода релиза?
На мой взгляд ничем, кроме вставок дефайнов, модель кода не отличается. И исходники те же, и классы те же и всё то же.
Записан
Страниц: [
1
]
2
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...