Udostępnij za pośrednictwem


Korzystanie z języka Clang-Tidy w programie Visual Studio

Obsługa oprogramowania Clang-Tidy wymaga programu Visual Studio 2019 w wersji 16.4 lub nowszej. Aby wyświetlić dokumentację dla tej wersji, ustaw kontrolkę selektora wersji programu Visual Studio dla tego artykułu na program Visual Studio 2019 lub nowszy. Znajduje się on w górnej części spisu treści na tej stronie.

Analiza kodu natywnie obsługuje język Clang-Tidy zarówno dla projektów MSBuild, jak i CMake, niezależnie od tego, czy są używane zestawy narzędzi Clang, czy MSVC. Testy Clang-Tidy mogą być uruchamiane w ramach analizy kodu w tle. Są one wyświetlane jako ostrzeżenia w edytorze (zygzaki) i wyświetlane na liście błędów.

Obsługa języka Clang-Tidy jest dostępna od wersji 16.4 programu Visual Studio 2019. Jest on dołączany automatycznie po wybraniu obciążenia C++ w Instalator programu Visual Studio.

Clang-Tidy to domyślne narzędzie do analizy w przypadku korzystania z zestawu narzędzi LLVM/clang-cl, dostępnego zarówno w programie MSBuild, jak i CMake. Można go skonfigurować podczas korzystania z zestawu narzędzi MSVC do uruchamiania obok lub zastępowania standardowego środowiska analizy kodu. Jeśli używasz zestawu narzędzi clang-cl, analiza kodu firmy Microsoft jest niedostępna.

Narzędzie Clang-Tidy jest uruchamiane po pomyślnej kompilacji. Aby uzyskać wyniki języka Clang-Tidy, może być konieczne rozwiązanie problemów z błędami kodu źródłowego.

MSBuild

Język Clang-Tidy można skonfigurować tak, aby był uruchamiany zarówno w ramach analizy kodu, jak i kompilacji na stronie Ogólne analizy>kodu w programie Project okno Właściwości. Opcje konfigurowania narzędzia można znaleźć w podmenu Clang-Tidy.

Aby uzyskać więcej informacji, zobacz How to: Set Code Analysis Properties for C/C++ Projects (Instrukcje: ustawianie właściwości analizy kodu dla projektów C/C++).

CMake

W projektach CMake można skonfigurować kontrole Clang-Tidy w programie CMakeSettings.json lub CMakePresets.json.

Język Clang-Tidy rozpoznaje następujące klucze:

  • enableMicrosoftCodeAnalysis: włącza analizę kodu firmy Microsoft
  • enableClangTidyCodeAnalysis: Włącza analizę Clang-Tidy
  • clangTidyChecks: konfiguracja Clang-Tidy. Rozdzielona przecinkami lista kontroli do włączenia lub wyłączenia. Wiodący - wyłącza sprawdzanie. Na przykład cert-oop58-cpp, -cppcoreguidelines-no-malloc, google-runtime-int włącza wartości cert-oop58-cpp i google-runtime-int, ale wyłącza funkcję cppcoreguidelines-no-malloc. Aby uzyskać listę testów Clang-Tidy, zobacz dokumentację Clang-Tidy.

Jeśli żadna z opcji "włącz" nie zostanie określona, program Visual Studio wybierze narzędzie do analizy zgodne z używanym zestawem narzędzi platformy.

Ustawienia narzędzia CMake

Aby edytować ustawienia Clang-Tidy, otwórz ustawienia narzędzia CMake i wybierz pozycję Edytuj kod JSON w Edytorze ustawień projektu CMake. Możesz użyć powyższych kluczy, aby wypełnić specyfikacje Clang-Tidy w pliku JSON ustawień narzędzia CMake.

Przykładowa implementacja ustawień narzędzia CMake wygląda następująco:

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

Ustawienia wstępne narzędzia CMake

Te same klucze mogą być używane w ustawieniach wstępnych narzędzia CMake za pośrednictwem vendor obiektu .

Przykładowa implementacja ustawień wstępnych narzędzia CMake wygląda następująco:

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

Wyświetlanie ostrzeżenia

Przebiegi Clang-Tidy powodują wyświetlenie ostrzeżeń na liście błędów, a w edytorze zwija się pod odpowiednimi sekcjami kodu. Aby sortować i organizować ostrzeżenia Clang-Tidy, użyj kolumny Kategoria w oknie Lista błędów. Możesz skonfigurować ostrzeżenia w edytorze, przełączając ustawienie Wyłącz zygzaki analizy kodu w obszarze Opcje narzędzi>.

Konfiguracja Clang-Tidy

Domyślnie Clang-Tidy nie ustawia żadnych testów po włączeniu. Aby wyświetlić listę testów w wersji wiersza polecenia, uruchom polecenie clang-tidy -list-checks w wierszu polecenia dewelopera. Możesz skonfigurować kontrole uruchamiane w programie Visual Studio w języku Clang-Tidy. W oknie dialogowym Strony właściwości projektu otwórz stronę Analiza>kodu właściwości>konfiguracji Clang-Tidy. Wprowadź kontrole do uruchomienia we właściwości Clang-Tidy Checks . Dobrym zestawem domyślnym jest clang-analyzer-*. Ta wartość właściwości jest dostarczana do --checks argumentu narzędzia. Wszelkie dalsze konfiguracje można uwzględnić w plikach niestandardowych .clang-tidy . Aby uzyskać więcej informacji, zobacz dokumentację Clang-Tidy dotyczącą LLVM.org.

Katalog narzędzi Clang-Tidy

Jeśli chcesz mieć wbudowane reguły niestandardowe w plik wykonywalny clang-tidy i uruchomić go w programie Microsoft Visual Studio, możesz zmienić ścieżkę do pliku wykonywalnego, który jest uruchamiany przez program Visual Studio. W oknie dialogowym Strony właściwości projektu otwórz stronę Analiza>kodu właściwości>konfiguracji Clang-Tidy. Ręcznie wpisz ścieżkę lub Przeglądaj i wybierz ścieżkę pod właściwością Clang-Tidy Tool Directory . Nowy plik wykonywalny jest używany po zapisaniu zmiany, a aplikacja zostanie ponownie skompilowana.

Zobacz też

Obsługa języka Clang/LLVM dla projektów MSBuild
Obsługa języka Clang/LLVM dla projektów CMake