Uso de Clang-Tidy en Visual Studio
La compatibilidad con Clang-Tidy requiere Visual Studio 2019, versión 16.4 o posterior. Para ver la documentación de esta versión, establezca el control de selector Versión de Visual Studio para este artículo en Visual Studio 2019 o versiones posteriores. Está en la parte superior de la tabla de contenido de esta página.
Code Analysis admite Clang-Tidy de forma nativa para proyectos de MSBuild y CMake, tanto si usa conjuntos de herramientas de Clang o MSVC. Las comprobaciones de Clang-Tidy se pueden ejecutar como parte del análisis de código en segundo plano. Aparecen como advertencias en el editor (marcas en zigzag) y se muestran en la lista de errores.
La compatibilidad con Clang-Tidy está disponible a partir de Visual Studio 2019, versión 16.4. Se incluye automáticamente al elegir una carga de trabajo de C++ en el Instalador de Visual Studio.
Clang-Tidy es la herramienta de análisis predeterminada al usar el conjunto de herramientas LLVM/clang-cl, disponible tanto en MSBuild como en CMake. Puede configurarla al usar un conjunto de herramientas de MSVC para ejecutarla junto con la experiencia de Code Analysis o en lugar de esta. Si usa el conjunto de herramientas clang-cl, Microsoft Code Analysis no está disponible.
Clang-Tidy se ejecuta después de una compilación correcta. Es posible que tenga que resolver errores de código fuente para obtener resultados de Clang-Tidy.
MSBuild
Puede configurar Clang-Tidy para que se ejecute como parte del análisis y la compilación de código en la página Code Analysis>General de la ventana Propiedades del proyecto. Las opciones para configurar la herramienta se pueden encontrar en el submenú de Clang-Tidy.
Para más información, consulte Establecimiento de propiedades de Code Analysis para proyectos de C/C++.
CMake
En los proyectos de CMake, puede configurar comprobaciones de Clang-Tidy dentro de CMakeSettings.json
o CMakePresets.json
.
Clang-Tidy reconoce las siguientes claves:
enableMicrosoftCodeAnalysis
: habilita Microsoft Code Analysis.enableClangTidyCodeAnalysis
: habilita el análisis de Clang-Tidy.clangTidyChecks
: Configuración de Clang-Tidy. Lista separada por comas de comprobaciones para habilitar o deshabilitar. Un-
inicial deshabilita la comprobación. Por ejemplo,cert-oop58-cpp, -cppcoreguidelines-no-malloc, google-runtime-int
habilitacert-oop58-cpp
ygoogle-runtime-int
, pero deshabilitacppcoreguidelines-no-malloc
. Para obtener una lista de comprobaciones de Clang-Tidy, consulte la documentación de Clang-Tidy.
Si no se especifica ninguna de las opciones "habilitar", Visual Studio selecciona la herramienta de análisis que coincida con el conjunto de herramientas de la plataforma usado.
Configuración de CMake
Para editar la configuración de Clang-Tidy, abra la configuración de CMake y seleccione Editar JSON en el Editor de configuración del proyecto de CMake. Puede usar las claves anteriores para rellenar las especificaciones de Clang-Tidy en el archivo JSON de configuración de CMake.
Una implementación de configuración de CMake de ejemplo tiene este aspecto:
{
"configurations": [
{
"name": "x64-debug",
"generator": "Ninja",
....
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
]
}
Valores preestablecidos de CMake
Las mismas claves se pueden usar en los valores preestablecidos de CMake a través del objeto vendor
.
Una implementación preestablecida de CMake de ejemplo tiene este aspecto:
"configurePreset": [
{ "name": "base",
....
"vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": {
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
}
}
]
Visualización de advertencias
Las ejecuciones de Clang-Tidy generan las advertencias mostradas en la lista de errores y como marcas en zigzag en el editor, debajo de las secciones de código pertinentes. Para ordenar y organizar las advertencias de Clang-Tidy, use la columna Categoría en la ventana Lista de errores. Puede configurar las advertencias en el editor activando la opción Deshabilitar marcas en zigzag de Code Analysis en Herramientas>Opciones.
Configuración de Clang-Tidy
De forma predeterminada, Clang-Tidy no establece ninguna comprobación cuando se habilita. Para ver la lista de comprobaciones en la versión de la línea de comandos, ejecute clang-tidy -list-checks
en un símbolo del sistema para desarrolladores. Puede configurar las comprobaciones que Clang-Tidy ejecuta dentro de Visual Studio. En el cuadro de diálogo Páginas de propiedades del proyecto, abra la página Propiedades de configuración>Code Analysis>Clang-Tidy. Escriba comprobaciones para ejecutar en la propiedad Comprobaciones de Clang-Tidy. Un buen conjunto predeterminado es clang-analyzer-*
. Este valor de propiedad se proporciona para el argumento --checks
de la herramienta. Cualquier configuración adicional se puede incluir en archivos .clang-tidy
personalizados. Para más información, consulte la documentación de Clang-Tidy en LLVM.org.
Directorio de herramientas Clang-Tidy
Si quiere tener reglas personalizadas integradas en el archivo ejecutable de clang-tidy y ejecutarlo en Microsoft Visual Studio, puede cambiar la ruta de acceso al archivo ejecutable que ejecuta Visual Studio. En el cuadro de diálogo Páginas de propiedades del proyecto, abra la página Propiedades de configuración>Code Analysis>Clang-Tidy. Escriba manualmente la ruta de acceso o Examine y seleccione la ruta de acceso en la propiedad Directorio de herramientas clang-tidy. El nuevo ejecutable se usa una vez guardado el cambio y se vuelve a compilar la aplicación.
Consulte también
Compatibilidad de Clang/LLVM con proyectos de MSBuild
Compatibilidad de Clang/LLVM con proyectos de CMake