Комментарии 39
Дополнительные возможности рефакторинга в C++: извлечь метод, добавить нехватающий #include, переставить аргументы функции местами
Я так и не нашел как добавить include к объявленному неизвестному типу. Не срабатывает даже на Q классах.
А вот extract method очень ок, мне понравился.
Я так и не нашел как добавить include к объявленному неизвестному типу. Не срабатывает даже на Q классах.
А вот extract method очень ок, мне понравился.
+4
Хм, у меня ок добавилось.
+1
Windows?
-1
Mac OS X.
+2
Вообщем у меня на Linux не появляется сей пункт. Может делаю что не так.
+2
Я тоже заметил появляется через раз. Так же как alt+Return иногда срабатывает. В качестве совета могу подсказать снять выделение/курсор туда-сюда. С «Create implementation» по крайней мере так и работает. В этой штуке системы не увидел. Но для меня эта самая долгожданная, за день успел уже раз пять использовать!
+3
Кстати, чтобы все понимали, плагин написан и интегрирован не мной, это форк моего старого проекта, о котором я писал на хабре ранее. Так что все спасибо направлять Дмитрию Савченко, который потратил немало времени на переделку, доработку и интеграцию TODO плагина.
+3
Вопрос (возможно, глупый) по TODO плагину — как заставить его работать? В MacOS X у меня он так и не отобразился, хотя галочку в PlugIns я поставил.
Из минусов — сломали работу с Git по Option+G Option+B и т.д. Нужно им багрепорт написать.
Из минусов — сломали работу с Git по Option+G Option+B и т.д. Нужно им багрепорт написать.
+2
А почему MinGW убрали?
+2
В оригинальной новости сказано в духе «для этого сделан Qt SDK».
+3
Там в официальной новости есть объяснение, вкратце — мингв есть в QtSDK, а если вы сами собираете себе окружение по кусочкам, качайте MinGW отдельно, саппорт они не прекращают, просто убрали из инсталлятора.
0
Не всем он нужен.
+1
Пардон, господа, я думал убрали из Qt SDK :)
Я как-то им обычно пользуюсь, обновляется добротно, и удобно, как по мне, сразу все в одном пакете! Ну тогда вопрос решен!
Я как-то им обычно пользуюсь, обновляется добротно, и удобно, как по мне, сразу все в одном пакете! Ну тогда вопрос решен!
0
Отличные новости! Особенно рад поддержке «IntelliSense» для auto.
+1
Рано радуетесь, самый ожидаемый на данный момент task до сих пор uresolved:
bugreports.qt-project.org/browse/QTCREATORBUG-4654
bugreports.qt-project.org/browse/QTCREATORBUG-4654
+1
Ну, по крайней мере пример, описанный в этой таске, работает:
+2
В сложных случаях уже нет :)
+2
В сложных случаях автокомплит в QtC в принципе тупит. Автокомплит auto будет работать во всех ситуациях, когда парсер QtC может вычислить тип выражения, а сюда не попадают даже достаточно простые случаи использования шаблонов, когда, например, парсеру надо пройти через несколько typedef'ов, особенно если они зависят от аргументов шаблона. Конкретные примеры кода смогу привести, когда до стационарного компа доберусь.
У этой проблемы два пути решения — докручивать встроенный парсер или окончательно переходить на clang, но на каждом из этих путей свои сложности.
У этой проблемы два пути решения — докручивать встроенный парсер или окончательно переходить на clang, но на каждом из этих путей свои сложности.
+2
Вот, собственно, пример кода, когда автокомплит в QtC не может ничего предложить:
Тут после front() ничего не появляется при наборе. Аналогично с итераторами std-шных контейнеров.
class SomeClass
{
public:
SomeClass(int a) : m_a(a) {}
void Foo() {}
void Bar(int a) {}
};
int main()
{
std::vector<SomeClass> vec;
vec.front().
Тут после front() ничего не появляется при наборе. Аналогично с итераторами std-шных контейнеров.
+2
На clang'е я смотрел ветку и там автокомплит кушал все, но жутко медленно. Кажется они пока не решили эту проблему и вся разработка на этом встала.
Говорят kdevelop нормально все конструкции жрет и снипеты там лучше работают. В идеале конечно было бы круто объединить их парсеры.
Говорят kdevelop нормально все конструкции жрет и снипеты там лучше работают. В идеале конечно было бы круто объединить их парсеры.
+1
Да, с clang'ом там всё не просто (точнее, именно с его производительностью). Чем сложнее файл и больше в нём инклюдов — тем он дольше парсится. И это аффектит не только code completion, но и построение модели кода для проекта. Плюс ко всему, при сращивании QtC с clang'ом последнего надо «обучать» специфичным именно для Qt фишкам. Если с марта этого года ничего не изменилось, то QtC будет постепенно переводить на clang в течении 2012-2013-ых годов.
+1
Последний коммит в WIP/clang — 22 апреля. И вообще там в бранче мертвые с косами стоят.
0
Eike Ziller писал по поводу интеграции QtC и clang буквально следующее:
1) First priority short term is to make Qt Creator's current code model handle the new C++11 features gracefully (help needed, see long story!)
2) Middle term (i.e. 2012/13) we want a hybrid solution where clang is used for code completion and semantic highlighting, and the current code model is used for mostly everything else
3) Long term we would prefer using clang for everything code related in Qt Creator, but when both clang and Qt Creator might be ready for that, we don't know
( lists.qt-project.org/pipermail/qt-creator/2012-February/000251.html )
Сейчас работа в рамках интеграции clang и QtC, судя по всему, временно заморожена. В master-ветке активно докручивается препроцессор. Когда работы с clang'ом возобновятся — я не знаю. У нокиевской команды, работающей над QtC, всего три человека (насколько я могу судить), которые работают над C++-парсером в QtC. По этому без помощи community им (для решения этих задач) никак не обойтись.
1) First priority short term is to make Qt Creator's current code model handle the new C++11 features gracefully (help needed, see long story!)
2) Middle term (i.e. 2012/13) we want a hybrid solution where clang is used for code completion and semantic highlighting, and the current code model is used for mostly everything else
3) Long term we would prefer using clang for everything code related in Qt Creator, but when both clang and Qt Creator might be ready for that, we don't know
( lists.qt-project.org/pipermail/qt-creator/2012-February/000251.html )
Сейчас работа в рамках интеграции clang и QtC, судя по всему, временно заморожена. В master-ветке активно докручивается препроцессор. Когда работы с clang'ом возобновятся — я не знаю. У нокиевской команды, работающей над QtC, всего три человека (насколько я могу судить), которые работают над C++-парсером в QtC. По этому без помощи community им (для решения этих задач) никак не обойтись.
0
Да и навигация по коду через смартуказатели не работает.
Переход и вообще всякие подсказки для func не работают если smptr это смартуказатель (с переопределенным оператором ->).
smptr->func();
Переход и вообще всякие подсказки для func не работают если smptr это смартуказатель (с переопределенным оператором ->).
+2
Плагин TODO классная штука, раньше не знал о нем. Но даже в бочке меда есть ложка дегтя. Я конечно понимаю, интернационализация, английский язык — стандарт, все дела. Но в 2012 без поддержки русского языка плагин выглядит не очень круто. Сам код в UTF-8, но на выходе получается примерно следующая картина:
PS: Если это сама консоль креатора не поддерживает русский алфавит, тогда беру свои слова обратно.
PS: Если это сама консоль креатора не поддерживает русский алфавит, тогда беру свои слова обратно.
0
Насколько я понимаю, там обычный ListView, с чего бы ему что-то не поддерживать? Тоже наткнулся, кстати, на косяк с кириллическими комментариями.
0
Напишите Bug Report.
+1
Не пишите Bug Report он уже есть
bugreports.qt-project.org/browse/QTCREATORBUG-7356
bugreports.qt-project.org/browse/QTCREATORBUG-7356
+3
Бага в \qt-creator\src\libs\cplusplus\pp-engine.cpp:589 если что:
Оно потом возвращается в \qt-creator\src\plugins\cpptools\cppmodelmanager.cpp:626-630 где засовывается в документ, который потом парсит парсер.
Но поскольку потеря инфы происходит не в плагине, а в самом куске QtCreator'а, я патчи слать не возьмусь.
QByteArray Preprocessor::run(const QString &fileName, const QString &source)
{
return run(fileName, source.toLatin1());
}
Оно потом возвращается в \qt-creator\src\plugins\cpptools\cppmodelmanager.cpp:626-630 где засовывается в документ, который потом парсит парсер.
Но поскольку потеря инфы происходит не в плагине, а в самом куске QtCreator'а, я патчи слать не возьмусь.
0
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
Qt Creator 2.5.0 вышел в свет!