Share via


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 habilita cert-oop58-cpp y google-runtime-int, pero deshabilita cppcoreguidelines-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.

Consulte también

Compatibilidad de Clang/LLVM con proyectos de MSBuild
Compatibilidad de Clang/LLVM con proyectos de CMake