Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Stöd för Clang-Tidy kräver Visual Studio 2019 version 16.4 eller senare. För att se dokumentationen för den här versionen, ställ in Visual Studio Version väljarkontroll för den här artikeln till Visual Studio 2019 eller senare. Den finns överst i innehållsförteckningen på den här sidan.
Kodanalys har inbyggt stöd för Clang-Tidy för både MSBuild- och CMake-projekt, oavsett om du använder Clang- eller MSVC-verktyg. Clang-Tidy-kontroller kan köras som en del av bakgrundsanalysen av kod. De visas som varningar i redigeraren (squiggles) och visas i fellistan.
Clang-Tidy support är tillgängligt från och med Visual Studio 2019 version 16.4. Den inkluderas automatiskt när du väljer en C++-arbetsbelastning i Visual Studio Installer.
Clang-Tidy är standardanalysverktyget när du använder verktygsuppsättningen LLVM/clang-cl, som finns i både MSBuild och CMake. Du kan konfigurera den när du använder en MSVC-verktygsuppsättning för att köra tillsammans med eller ersätta standardmiljön för kodanalys. Om du använder clang-cl-verktygsuppsättningen är Microsoft Code Analysis inte tillgänglig.
Clang-Tidy körs efter en lyckad kompilering. Du kan behöva lösa källkodsfel för att få Clang-Tidy resultat.
MSBuild
Du kan konfigurera Clang-Tidy att köras som en del av både kodanalys och skapa under sidanAllmänt> i fönstret Projektegenskaper. Alternativ för att konfigurera verktyget finns under undermenyn Clang-Tidy.
Mer information finns i Så här anger du egenskaper för kodanalys för C/C++-projekt.
CMake
I CMake-projekt kan du konfigurera Clang-Tidy kontroller inom CMakeSettings.json eller CMakePresets.json.
Clang-Tidy identifierar följande nycklar:
-
enableMicrosoftCodeAnalysis: Aktiverar Microsoft Code Analysis -
enableClangTidyCodeAnalysis: Aktiverar Clang-Tidy analys -
clangTidyChecks: Clang-Tidy konfiguration. En kommaavgränsad lista över kontroller som ska aktiveras eller inaktiveras. En inledande-inaktiverar kontrollen. Aktiverar till exempelcert-oop58-cpp, -cppcoreguidelines-no-malloc, google-runtime-intcert-oop58-cppochgoogle-runtime-int, men inaktiverarcppcoreguidelines-no-malloc. En lista över Clang-Tidy kontroller finns i dokumentationen förClang-Tidy.
Om inget av alternativen "aktivera" anges väljer Visual Studio analysverktyget som matchar den plattformsverktyguppsättning som används.
CMake-inställningar
Om du vill redigera dina Clang-Tidy inställningar öppnar du CMake-inställningarna och väljer Redigera JSON i redigeraren för CMake-projektinställningar. Du kan använda nycklarna ovan för att fylla i dina Clang-Tidy-specifikationer i filen CMake Settings JSON.
Ett exempel på implementering av CMake-inställningar ser ut så här:
{
"configurations": [
{
"name": "x64-debug",
"generator": "Ninja",
....
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
]
}
CMake-förinställningar
Samma nycklar kan användas i dina CMake-förinställningar via vendor objektet.
Ett exempel på en förinställd CMake-implementering ser ut så här:
"configurePreset": [
{ "name": "base",
....
"vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": {
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
}
}
]
Varningsvisning
Clang-Tidy-körningar resulterar i varningar som visas i fellistan och som understrykningar i redigeraren under relevanta kodavsnitt. Om du vill sortera och ordna Clang-Tidy varningar använder du kolumnen Kategori i fönstret Fellista . Du kan konfigurera varningar i redigeraren genom att växla inställningen Inaktivera kodanalyssquiggles under Verktygsalternativ>.
Clang-Tidy konfiguration
Som standard anger Clang-Tidy inga kontroller när det är aktiverat. Om du vill se listan över kontroller i kommandoradsversionen kör du clang-tidy -list-checks i en kommandotolk för utvecklare. Du kan konfigurera de kontroller som Clang-Tidy kör i Visual Studio. Öppna sidanKodanalys> för konfigurationsegenskaper>Clang-Tidy i dialogrutan Egenskapssidor för projekt. Ange vilka kontroller som ska köras i egenskapen Clang-Tidy Kontroller. En bra standarduppsättning är clang-analyzer-*. Det här egenskapsvärdet anges till --checks verktygets argument. Ytterligare konfiguration kan ingå i anpassade .clang-tidy filer. Mer information finns i dokumentationen omClang-Tidy på LLVM.org.
Clang-Tidy Verktygskatalog
Om du vill ha anpassade regler införda i din clang-tidy-körbara fil för att köra den i Visual Studio kan du ändra sökvägen till körbara filen som Visual Studio kör. Öppna sidanKodanalys> för konfigurationsegenskaper>Clang-Tidy i dialogrutan Egenskapssidor för projekt. Skriv sökvägen manuellt eller Bläddra och välj sökvägen under egenskapen Clang-Tidy Tool Directory . Den nya körbara filen används så snart ändringen har sparats och appen omkompilerats.
Clang-Tidy ytterligare alternativ
Med egenskapen Clang-Tidy Ytterligare alternativ kan du ange ytterligare kompilatorargument som skickas till Clang-Tidy med hjälp av --extra-args kommandoradsalternativet. Dessa argument kan användas för att styra hur Clang-Tidy parsar koden, till exempel definiera makron, inkludera sökvägar eller språkstandarder. Ange argument som en semikolonavgränsad lista. Till exempel: -std=c++20;-DMY_DEFINE=1;-Ipath\to\include.
Clang-Tidy Infoga ytterligare alternativ
Med egenskapen Clang-Tidy Prepend Additional Options kan du ange kompilatorargument som skickas till Clang-Tidy med kommandoradsalternativet --extra-args-before . Dessa argument infogas före standardkompilatorargumenten när Clang-Tidy parsar koden. Ange argument som en semikolonavgränsad lista. Till exempel: -std=c++20;-DMY_DEFINE=1;.
Maximalt antal processer
Med egenskapen Maximalt antal processer kan du ange hur många processer Clang-Tidy kan använda för att köra analys parallellt. Som standard körs Clang-Tidy seriellt. Ange den här egenskapen för att aktivera parallell körning och ange antalet parallella processer. Ställ in på 0 för att använda alla tillgängliga logiska processorer i systemet. Att öka antalet processer kan förbättra analyshastigheten på datorer med flera kärnor.
Se även
Clang/LLVM-stöd för MSBuild-projekt
Clang/LLVM-stöd för CMake-projekt