Verwenden von Clang-Tidy in Visual Studio
Zur Unterstützung von Clang-Tidy ist Visual Studio 2019, Version 16.4 oder höher, erforderlich. Wenn Sie die Dokumentation für diese Version anzeigen möchten, stellen Sie das Steuerelement zur Auswahl der Version von Visual Studio für diesen Artikel auf „Visual Studio 2019“ ein. Es befindet sich am Anfang des Inhaltsverzeichnisses auf dieser Seite.
Code Analysis unterstützt jetzt Clang-Tidy für MSBuild- und CMake-Projekte nativ, unabhängig davon, ob Sie das Clang- oder MSVC-Toolset verwenden. Clang-Tidy-Überprüfungen können als Teil der Codeanalyse im Hintergrund ausgeführt werden. Sie werden im Editor als Warnungen (Wellenlinien) und in der Fehlerliste angezeigt.
Clang-Tidy-Unterstützung ist ab Visual Studio 2019, Version 16.4, verfügbar. Sie wird automatisch eingebunden, wenn Sie eine C++-Workload im Visual Studio-Installer auswählen.
Clang-Tidy ist das Standardanalysetool bei Verwendung des Toolsets LLVM/clang-cl, das sowohl in MSBuild als auch in CMake verfügbar ist. Sie können es bei Verwendung eines MSVC-Toolset konfigurieren, sodass es zusammen mit der standardmäßigen Code Analysis-Umgebung ausgeführt wird oder diese ersetzt. Wenn Sie das clang-cl-Toolset verwenden, ist Microsoft Code Analysis nicht verfügbar.
Clang-Tidy wird nach erfolgreicher Kompilierung ausgeführt. Möglicherweise müssen Sie Quellcodefehler beheben, um Clang-Tidy-Ergebnisse zu erhalten.
MSBuild
Sie können Clang-Tidy so konfigurieren, dass es sowohl als Teil von Code Analysis als auch im Build unter der Seite Code Analysis>Allgemein im Projekteigenschaftenfenster ausgeführt wird. Optionen zum Konfigurieren des Tools finden Sie im Untermenü „Clang-Tidy“.
Weitere Informationen finden Sie unter Gewusst wie: Festlegen von Code Analysis-Eigenschaften für C/C++-Projekte.
CMake
In CMake-Projekten können Sie Clang-Tidy-Überprüfungen in CMakeSettings.json
oder CMakePresets.json
konfigurieren.
Clang-Tidy erkennt die folgenden Schlüssel:
enableMicrosoftCodeAnalysis
: Aktiviert Microsoft Code AnalysisenableClangTidyCodeAnalysis
: Aktiviert die Clang-Tidy-AnalyseclangTidyChecks
: Clang-Tidy-Konfiguration. Eine durch Trennzeichen getrennte Liste der Überprüfungen, die aktiviert oder deaktiviert werden sollen. Ein führendes Zeichen-
deaktiviert die Überprüfung. Beispielsweise aktiviertcert-oop58-cpp, -cppcoreguidelines-no-malloc, google-runtime-int
cert-oop58-cpp
undgoogle-runtime-int
, deaktiviert jedochcppcoreguidelines-no-malloc
. Eine Liste der Clang-Tidy-Überprüfungen finden Sie in der Clang-Tidy-Dokumentation.
Wenn keine Optionen für die Aktivierung angegeben sind, wählt Visual Studio das Analysetool aus, das dem verwendeten Plattformtoolset entspricht.
CMake-Einstellungen
Um Ihre Clang-Tidy-Einstellungen zu bearbeiten, öffnen Sie Ihre CMake-Einstellungen, und wählen Sie im CMake-Projekteinstellungs-Editor JSON bearbeiten aus. Sie können die oben genannten Schlüssel verwenden, um Ihre Clang-Tidy-Spezifikationen in der JSON-Datei für CMake-Einstellungen auszufüllen.
Eine Beispielimplementierung für CMake-Einstellungen sieht wie folgt aus:
{
"configurations": [
{
"name": "x64-debug",
"generator": "Ninja",
....
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
]
}
CMake-Voreinstellungen
Sie können die gleichen Schlüssel in Ihren CMake-Voreinstellungen über das vendor
-Objekt verwenden.
Ein Beispiel für eine Implementierung von CMake-Voreinstellungen sieht wie folgt aus:
"configurePreset": [
{ "name": "base",
....
"vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": {
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
}
}
]
Warnungsanzeige
Clang-Tidy-Ausführungen können zu Warnungen führen, die in der Fehlerliste angezeigt werden und im Editor als Wellenlinien unter den relevanten Codeabschnitten erscheinen. Verwenden Sie die Spalte Kategorie im Fenster Fehlerliste, um Clang-Tidy-Warnungen zu sortieren und zu organisieren. Sie können im Editor angezeigte Warnungen konfigurieren, indem Sie unter Extras>Optionen die Einstellung Codeanalyse-Squiggles deaktivieren umschalten.
Clang-Tidy-Konfiguration
Standardmäßig legt Clang-Tidy keine Überprüfungen fest, wenn es aktiviert wird. Um die Liste der Überprüfungen in der Befehlszeilenversion anzuzeigen, führen Sie clang-tidy -list-checks
in einer Eingabeaufforderung der Entwicklerumgebung aus. Sie können die Überprüfungen konfigurieren, die Clang-Tidy in Visual Studio ausführt. Öffnen Sie im Dialogfeld „Eigenschaftenseiten“ des Projekts die Seite Konfigurationseigenschaften>Code Analysis>Clang-Tidy. Geben Sie die auszuführenden Überprüfungen in der Eigenschaft Clang-Tidy Checks an. Ein guter Standardsatz ist clang-analyzer-*
. Dieser Eigenschaftswert wird für das Argument --checks
des Tools bereitgestellt. Jede weitere Konfiguration kann in benutzerdefinierte .clang-tidy
-Dateien eingeschlossen werden. Weitere Informationen finden Sie in der Clang-Tidy-Dokumentation auf LLVM.org.
Verzeichnis des Clang-Tidy-Tools
Wenn Sie benutzerdefinierte Regeln in Ihre ausführbare Datei mit Clang-Tidy integriert haben und sie in Microsoft Visual Studio ausführen möchten, können Sie den Pfad zu der ausführbaren Datei ändern, die Visual Studio ausführt. Öffnen Sie im Dialogfeld „Eigenschaftenseiten“ des Projekts die Seite Konfigurationseigenschaften>Code Analysis>Clang-Tidy. Geben Sie manuell den Pfad ein oder navigieren und wählen Sie den Pfad unter der Verzeichnis-Eigenschaft des Clang-Tidy-Tool aus. Die neue ausführbare Datei wird verwendet, sobald die Änderung gespeichert wurde, und die App wird neu kompiliert.
Weitere Informationen
Clang/LLVM-Unterstützung für MSBuild-Projekte
Clang/LLVM-Unterstützung für CMake-Projekte