Sdílet prostřednictvím


Použití Clang-Tidy v sadě Visual Studio

Podpora pro Clang-Tidy vyžaduje Visual Studio 2019 verze 16.4 nebo novější. Pokud chcete zobrazit dokumentaci pro tuto verzi, nastavte ovládací prvek selektoru verzí sady Visual Studio pro tento článek na Visual Studio 2019 nebo novější. Je v horní části obsahu na této stránce.

Analýza kódu nativně podporuje Clang-Tidy pro projekty MSBuild i CMake bez ohledu na to, jestli používají sady nástrojů Clang nebo MSVC. Kontroly Clang-Tidy se můžou spouštět jako součást analýzy kódu na pozadí. Zobrazují se jako upozornění v editoru (vlnovkou) a zobrazují se v seznamu chyb.

Podpora Clang-Tidy je dostupná od sady Visual Studio 2019 verze 16.4. Když v Instalační program pro Visual Studio zvolíte úlohu jazyka C++, zahrne se automaticky.

Clang-Tidy je výchozí analytický nástroj při použití sady nástrojů LLVM/clang-cl, který je k dispozici v nástroji MSBuild i CMake. Můžete ji nakonfigurovat při použití sady nástrojů MSVC ke spuštění souběžně nebo k nahrazení standardního prostředí pro analýzu kódu. Pokud používáte sadu nástrojů clang-cl, není analýza kódu microsoftu k dispozici.

Clang-Tidy se spustí po úspěšné kompilaci. Abyste získali výsledky Clang-Tidy, možná budete muset vyřešit chyby zdrojového kódu.

MSBuild

Clang-Tidy můžete nakonfigurovat tak, aby běžela jako součást analýzy kódu i sestavení na stránce Obecné analýzy>kódu v projektu okno Vlastnosti. Možnosti konfigurace nástroje najdete v podnabídce Clang-Tidy.

Další informace naleznete v tématu Postupy: Nastavení vlastností analýzy kódu pro projekty C/C++.

CMake

V projektech CMake můžete nakonfigurovat kontroly Clang-Tidy v rámci CMakeSettings.json nebo CMakePresets.json.

Clang-Tidy rozpozná následující klíče:

  • enableMicrosoftCodeAnalysis: Povolí analýzu kódu společnosti Microsoft.
  • enableClangTidyCodeAnalysis: Povolí analýzu Clang-Tidy.
  • clangTidyChecks: Konfigurace Clang-Tidy. Seznam kontrol oddělených čárkami pro povolení nebo zakázání - Úvodní funkce tuto kontrolu zakáže. Například cert-oop58-cpp, -cppcoreguidelines-no-malloc, google-runtime-int povolí cert-oop58-cpp a google-runtime-int, ale zakáže cppcoreguidelines-no-malloc. Seznam kontrol Clang-Tidy najdete v dokumentaci Klang-Tidy.

Pokud není zadána žádná z možností povolit, Sada Visual Studio vybere nástroj pro analýzu odpovídající použité sadě nástrojů platformy.

Nastavení CMake

Pokud chcete upravit nastavení Clang-Tidy, otevřete nastavení CMake a v Editoru nastavení projektu CMake vyberte Upravit JSON . Výše uvedené klíče můžete použít k vyplnění specifikací Clang-Tidy v souboru JSON nastavení CMake.

Příklad implementace nastavení CMake vypadá takto:

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

Předvolby CMake

Stejné klíče lze použít v předvolbách CMake prostřednictvím objektu vendor .

Příklad přednastavené implementace CMake vypadá takto:

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

Zobrazení upozornění

Výsledkem spuštění Clang-Tidy jsou upozornění zobrazená v seznamu chyb a pod příslušnými oddíly kódu pod podrážky editoru. Pokud chcete seřadit a uspořádat upozornění Clang-Tidy, použijte sloupec Kategorie v okně Seznam chyb. Upozornění v editoru můžete nakonfigurovat přepnutím nastavení Zakázat vlnovku analýzy kódu v části Možnosti nástrojů>.

Konfigurace Clang-Tidy

Ve výchozím nastavení Clang-Tidy nenastaví žádné kontroly, pokud je povoleno. Pokud chcete zobrazit seznam kontrol ve verzi příkazového řádku, spusťte clang-tidy -list-checks ho na příkazovém řádku vývojáře. Můžete nakonfigurovat kontroly, které Clang-Tidy běží v sadě Visual Studio. V dialogovém okně Stránky vlastností projektu otevřete stránku Clang-Tidy pro analýzu vlastností>konfigurace>. Zadejte kontroly, které se mají spustit ve vlastnosti Clang-Tidy Checks . Dobrá výchozí sada je clang-analyzer-*. Tato hodnota vlastnosti je poskytována --checks argumentu nástroje. Jakékoli další konfigurace je možné zahrnout do vlastních .clang-tidy souborů. Další informace najdete v dokumentaci jazyka Clang-Tidy k LLVM.org.

Adresář nástrojů Clang-Tidy

Pokud chcete mít vlastní pravidla integrovaná do spustitelného souboru clang-tidy a spustit ho v sadě Microsoft Visual Studio, můžete změnit cestu ke spustitelnému souboru, který sada Visual Studio spouští. V dialogovém okně Stránky vlastností projektu otevřete stránku Clang-Tidy pro analýzu vlastností>konfigurace>. Ručně zadejte cestu nebo Procházet a vyberte cestu pod Clang-Tidy Tool Directory vlastnost. Po uložení změny se použije nový spustitelný soubor a aplikace se znovu zkompiluje.

Viz také

Podpora Clang/LLVM pro projekty MSBuild
Podpora Clang/LLVM pro projekty CMake