Есть «подсветка синтаксиса» (раскраска) и «проверка синтаксиса» (волнистые подчеркивания). Цветовая подсветка синтаксиса, похоже, связана с Кейт, как предлагает @Koying, вы можете изменить цвета и отключить его. Начиная с Qt Creator 2.5.0, похоже, нет проблем с большинством C ++ 11 примеров, которые я вставляю из Интернета, хотя в вашем примере действительно есть подчеркивание:
http://labs.qt.nokia.com/2012/05/09/qt-creator-2-5-0-released/
Также, к сожалению, на момент написания (13 июня 2012 года, то есть примерно через месяц после выпуска) последний интегрированный пакет SDK все еще устанавливает Qt Creator 2.4.1 по умолчанию. : - /
Если это лодка, на которой кто-то находится и хочет попробовать последнюю версию, не делайте то, что я сделал , стирая вашу установку Qt SDK с помощью /opt/QtSDK/SDKMaintenanceTool
! Это было потрачено впустую время на переустановку, после чего я выполнил sudo rm -r /opt/QtSDK/QtCreator
, а затем велел новому выпуску Qt Creator установить на /opt/QtSDK/QtCreator
. Я обновлю этот пост, если столкнусь с таким выбором!
http://qt -project.org / вики / Qt_Creator_Releases
НО , хотя, похоже, он работает со многими конструкциями C ++ 11, он ничего не делает для вашего примера и для конкретного случая, с которым я столкнулся, - это unspaced<nested<syntax>>
для шаблонов.
(Примечание: это может показаться незначительным, но для меня это большая функция C ++ 11. Я ненавижу , когда приходится делать tailspaced<nested<syntax> >
... что привело я всегда делаю fullyspaced< nested< syntax > >
на всех шаблонах, чтобы все было согласованно. Даже простые случаи, такие как vector< int >
. Теперь, когда они исправили компилятор, я готов убить весь этот пробельный шум.)
Кажется, нет никакого способа отключить волнистые подчеркивания (, если вы не перекомпилируете Qt Creator ??).
in qt-creator-2.5.0-src\src\plugins\cpptools\cppmodelmanager.cpp:
QTextCharFormat errorFormat;
/* disable error underline
errorFormat.setUnderlineStyle(QTextCharFormat::WaveUnderline);
errorFormat.setUnderlineColor(Qt::red);
*/
// set up the format for the warnings.
QTextCharFormat warningFormat;
/* disable warning underline
warningFormat.setUnderlineStyle(QTextCharFormat::WaveUnderline);
warningFormat.setUnderlineColor(Qt::darkYellow);
*/
В любом случае, это является безумным следствием дублирования работы компилятора в IDE вместо того, чтобы иметь два совместно используемых кода интерфейса. Мы живем в темные века программного обеспечения. Кто-нибудь спасет нас ? [/ Напыщенная] * * 1 047
Вот некоторые из соответствующих кодов (я думаю):
https://qt.gitorious.org/qt-creator/qt-creator/blobs/master/src/plugins/cppeditor/cpphighlighter.cpp
... и лексер здесь, обратите внимание на член _cxx0xEnabled
:
https://qt.gitorious.org/qt-creator/qt-creator/blobs/master/src/libs/cplusplus/SimpleLexer.cpp#line80
Кроме вашего for синтаксиса, интервал между шаблонами - единственное, что я нашел в C ++ 11, который вызывает строки. Это достаточно важно для меня, чтобы я мог просто создать свой собственный QtCreator для решения этой проблемы!