Partager via


Utilisation de Clang-Tidy dans Visual Studio

La prise en charge de Clang-Tidy nécessite Visual Studio 2019 version 16.4 ou ultérieure. Pour afficher la documentation sur cette version, définissez le contrôle de sélecteur de version de Visual Studio pour cet article sur Visual Studio 2019 ou version ultérieure. Il se trouve en haut de la table des matières de cette page.

Code Analysis prend en charge Clang-Tidy en mode natif pour les projets MSBuild et CMake, que vous utilisiez les ensembles d’outils Clang ou MSVC. Les vérifications Clang-Tidy peuvent s’exécuter dans le cadre de l’analyse du code en arrière-plan. Elles apparaissent sous forme d’avertissements dans l’éditeur (ondulations) et s’affichent dans la liste d’erreurs.

La prise en charge de Clang-Tidy est disponible à partir de Visual Studio 2019 version 16.4. Elle est incluse automatiquement lorsque vous choisissez une charge de travail C++ dans Visual Studio Installer.

Clang-Tidy est l’outil d’analyse par défaut lors de l’utilisation de l’ensemble d’outils LLVM/clang-cl, disponible dans MSBuild et CMake. Vous pouvez le configurer lors de l’utilisation d’un ensemble d’outils MSVC pour qu’il s’exécute en même temps que l’expérience Code Analysis, ou pour la remplacer. Si vous utilisez l’ensemble d’outils clang-cl, Microsoft Code Analysis n’est pas disponible.

Clang-Tidy s’exécute après réussite de la compilation. Vous devrez peut-être résoudre les erreurs de code source pour obtenir les résultats Clang-Tidy.

MSBuild

Vous pouvez configurer Clang-Tidy pour qu’il s’exécute à la fois dans le cadre de Code Analysis et de la génération dans la fenêtre Propriétés du projet sous Code Analysis>Général. Vous trouverez des options pour configurer l’outil dans le sous-menu Clang-Tidy.

Pour plus d’informations, consultez Guide pour définir les propriétés Code Analysis pour les projets C/C++.

CMake

Dans les projets CMake, vous pouvez configurer les vérifications Clang-Tidy dans CMakeSettings.json ou CMakePresets.json.

Clang-Tidy reconnaît les clés suivantes :

  • enableMicrosoftCodeAnalysis : active Microsoft Code Analysis
  • enableClangTidyCodeAnalysis : active l’analyse Clang-Tidy
  • clangTidyChecks : configuration de Clang-Tidy. Liste de vérifications à activer ou désactiver séparées par des virgules. Un - au début désactive la vérification. Par exemple, cert-oop58-cpp, -cppcoreguidelines-no-malloc, google-runtime-int active cert-oop58-cpp et google-runtime-int, mais désactive cppcoreguidelines-no-malloc. Pour obtenir la liste des vérifications Clang-Tidy, consultez la documentation de Clang-Tidy.

Si aucune des options « activer » n’est spécifiée, Visual Studio sélectionne l’outil d’analyse correspondant à l’ensemble d’outils de plateforme utilisé.

Paramètres CMake

Pour modifier vos paramètres Clang-Tidy, ouvrez vos paramètres CMake, puis sélectionnez Modifier JSON dans l’éditeur de paramètres de projet CMake. Vous pouvez utiliser les clés ci-dessus pour remplir vos spécifications Clang-Tidy dans le fichier JSON Paramètres CMake.

Voici un exemple d’implémentation de paramètres CMake :

{
  "configurations": [
  {
    "name": "x64-debug",
    "generator": "Ninja",
    ....
   "clangTidyChecks": "llvm-include-order, -modernize-use-override",
   "enableMicrosoftCodeAnalysis": true,
   "enableClangTidyCodeAnalysis": true
  }
  ]
}

Présélections CMake

Les mêmes clés peuvent être utilisées dans vos présélections CMake via l’objet vendor.

Voici un exemple d’implémentation de présélection CMake :

"configurePreset": [
{ "name": "base",
  ....
  "vendor": {
    "microsoft.com/VisualStudioSettings/CMake/1.0": {
      "clangTidyChecks": "llvm-include-order, -modernize-use-override",
      "enableMicrosoftCodeAnalysis": true,
      "enableClangTidyCodeAnalysis": true
      }
    }
}
]

Affichage de l’avertissement

Les exécutions Clang-Tidy entraînent des avertissements affichés dans la liste d’erreurs, et sous forme d’ondulations dans l’éditeur sous les sections du code concernées. Pour trier et organiser les avertissements Clang-Tidy, utilisez la colonne Catégorie dans la fenêtre Liste d’erreurs. Vous pouvez configurer des avertissements dans l’éditeur en désactivant le paramètre Désactiver les tildes Code Analysis dans Outils>Options.

Configuration de Clang-Tidy

Par défaut, Clang-Tidy ne définit aucune vérification lorsqu’il est activé. Pour afficher la liste des vérifications dans la version de ligne de commande, exécutez clang-tidy -list-checks dans une invite de commandes développeur. Vous pouvez configurer les vérifications que Clang-Tidy exécute dans Visual Studio. Dans la boîte de dialogue Pages de propriétés du projet, ouvrez la page Propriétés de configuration>Code Analysis>Clang-Tidy. Entrez les vérifications à exécuter dans la propriété Vérifications Clang-Tidy. Un bon ensemble par défaut est clang-analyzer-*. Cette valeur de propriété est fournie à l’argument --checks de l’outil. Toute autre configuration peut être incluse dans des fichiers personnalisés .clang-tidy. Pour plus d’informations, consultez la documentation Clang-Tidy sur LLVM.org.

Répertoire d’outil Clang-Tidy

Si vous souhaitez avoir des règles personnalisées intégrées dans votre Clang-Tidy exécutable et l’exécuter dans Microsoft Visual Studio, vous pouvez changer le chemin d’accès au fichier exécutable que Visual Studio exécute. Dans la boîte de dialogue Pages de propriétés du projet, ouvrez la page Propriétés de configuration>Code Analysis>Clang-Tidy. Tapez manuellement dans le chemin d’accès ou Parcourir et sélectionner le chemin d’accès sous la propriété Répertoire d’outil Clang-Tidy. Vous utilisez le nouveau fichier exécutable une fois le changement enregistré et l’application est recompilée.

Voir aussi

Prise en charge de Clang/LLVM pour les projets MSBuild
Prise en charge de Clang/LLVM pour les projets CMake