Hay "resaltado de sintaxis" (colorear) y hay "comprobación de sintaxis" (subrayado ondulado). El color de la sintaxis parece estar relacionado con Kate, como sugiere @Koying, puedes modificar los colores y desactivarlo. A partir de Qt Creator 2.5.0 no parece tener un problema con la mayoría de C++ 11 ejemplos me pega fuera de la web, a pesar de su ejemplo en efecto, todavía tienen el subrayado:
http://labs.qt.nokia.com/2012/05/09/qt-creator-2-5-0-released/
También desafortunadamente, al momento de la redacción (13 de junio de 2012, que es aproximadamente un mes después del lanzamiento), el último paquete SDK integrado aún está instalando Qt Creator 2.4.1 de manera predeterminada. : -/
Si este es el barco de alguien está en y quiere probar la última, no hacen lo que hice con la aniquilación de su Qt SDK instalar usando /opt/QtSDK/SDKMaintenanceTool
! Ese tiempo perdido en una reinstalación, después de lo cual ejecuté un sudo rm -r /opt/QtSDK/QtCreator
, y luego le dije a la nueva versión de Qt Creator que se instalara en /opt/QtSDK/QtCreator
. Actualizaré esta publicación si encuentro un problema con esa opción.
http://qt-project.org/wiki/Qt_Creator_Releases
PERO aunque parece que funciona con muchas construcciones de C++ 11 no hace nada por su ejemplo, ni el caso particular Tropecé a través, que es el unspaced<nested<syntax>>
para las plantillas.
(Nota: Puede parecer una cosa menor, pero es una gran característica de C++ 11 para mí me gusta se trata de tener que hacer ... tailspaced<nested<syntax> >
.lo que me llevó a hacer siempre fullyspaced< nested<syntax> >
en todas las plantillas para mantener las cosas consistentes. Incluso casos simples como vector<int>
. Ahora que arreglaron el compilador, estoy listo para matar todo ese ruido de espacio en blanco.)
No parece que haya ninguna manera de desactivar los subrayados ondulados (unless you recompile 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);
*/
De cualquier manera, es una consecuencia insana de duplicar el trabajo del compilador en el IDE en lugar de tener el código de front-end dos comparten. Vivimos en la edad oscura del software. ¿No alguien save us? [/ Diatriba]
He aquí algunos de los códigos correspondientes (creo):
https://qt.gitorious.org/qt-creator/qt-creator/blobs/master/src/plugins/cppeditor/cpphighlighter.cpp
... y el léxico aquí, tenga en cuenta el miembro _cxx0xEnabled
:
https://qt.gitorious.org/qt-creator/qt-creator/blobs/master/src/libs/cplusplus/SimpleLexer.cpp#line80
Además de su sintaxis, el espaciado entre plantillas es lo único que encontré en C++ 11 que causa las líneas. ¡Eso es lo suficientemente importante para mí como para poder construir mi propio QtCreator para abordarlo!
Probablemente deba cerrarlo globalmente para deshacerse de él. Qt Creator probablemente no conozca la sintaxis de C++ 11. Alternativamente, puede encontrar una opción para configurarlo en el modo C++ 11. –
Conoce auto, unique_ptr e incluso lambdas. Quiero decir que no hay ondas rojas y compila bien. –
Eso no significa que conozca la sintaxis 'for' basada en el rango. –