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 MicrosoftenableClangTidyCodeAnalysis
: Włącza analizę Clang-TidyclangTidyChecks
: konfiguracja Clang-Tidy. Rozdzielona przecinkami lista kontroli do włączenia lub wyłączenia. Wiodący-
wyłącza sprawdzanie. Na przykładcert-oop58-cpp, -cppcoreguidelines-no-malloc, google-runtime-int
włącza wartościcert-oop58-cpp
igoogle-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