Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Clang-Tidy támogatásához a Visual Studio 2019 16.4-es vagy újabb verziója szükséges. A jelen verzió dokumentációjának megtekintéséhez állítsa a cikk Visual Studio Verzióválasztó vezérlőelemét Visual Studio 2019-es vagy újabb verzióra. A lap tartalomjegyzékének tetején található.
A Code Analysis natív módon támogatja a Clang-Tidy-t az MSBuild és a CMake projektekhez, függetlenül attól, hogy Clang- vagy MSVC-eszközkészleteket használ. Clang-Tidy ellenőrzések a háttérkód-elemzés részeként futtathatók. Ezek szerkesztőn belüli figyelmeztetésként (aláhúzások) jelennek meg, és a hibalistában jelennek meg.
Clang-Tidy támogatás a Visual Studio 2019 16.4-es verziójától érhető el. Ez automatikusan megjelenik, ha C++ számítási feladatot választ a Visual Studio Installerben.
Clang-Tidy az alapértelmezett elemzőeszköz az LLVM/clang-cl eszközkészlet használatakor, amely az MSBuild és a CMake szolgáltatásban is elérhető. Konfigurálhatja, ha MSVC-eszközkészletet használ a szabványos kódelemzési felület mellett vagy helyett. Ha a clang-cl eszközkészletet használja, a Microsoft Code Analysis nem érhető el.
Clang-Tidy sikeres fordítás után fut. Előfordulhat, hogy meg kell oldania a forráskód hibáit Clang-Tidy eredmények lekéréséhez.
MSBuild
A Clang-Tidy úgy konfigurálhatja, hogy a Kódelemzés és a Build részeként is fusson a Projekt tulajdonságai ablak Kódelemzés>általános lapján. Az eszköz konfigurálására vonatkozó beállítások a Clang-Tidy almenüben találhatók.
További információ : A C/C++ projektek kódelemzési tulajdonságainak beállítása.
CMake
A CMake-projektekben konfigurálhatja a Clang-Tidy ellenőrzéseket a CMakeSettings.json vagy a CMakePresets.json elemen belül.
Clang-Tidy a következő kulcsokat ismeri fel:
-
enableMicrosoftCodeAnalysis: Engedélyezi a Microsoft Code Analysis használatát -
enableClangTidyCodeAnalysis: Lehetővé teszi Clang-Tidy elemzést -
clangTidyChecks: Clang-Tidy konfiguráció. Az engedélyezéshez vagy letiltásához vesszővel tagolt ellenőrzések listája. A bevezető-letiltja az ellenőrzést. Például acert-oop58-cpp, -cppcoreguidelines-no-malloc, google-runtime-intengedélyezi acert-oop58-cppésgoogle-runtime-inthasználatát, de letiltja acppcoreguidelines-no-malloc. Az Clang-Tidy-ellenőrzések listáját a Clang-Tidy dokumentációjában találja.
Ha egyik "engedélyezés" beállítás sincs megadva, a Visual Studio a használt platformeszközkészletnek megfelelő elemzőeszközt választja ki.
CMake-beállítások
A Clang-Tidy beállításainak szerkesztéséhez nyissa meg a CMake beállításait, és válassza a JSON szerkesztése lehetőséget a CMake Projektbeállítások szerkesztőjében. A fenti kulcsokkal kitöltheti Clang-Tidy specifikációit a CMake Settings JSON fájlban.
Egy példa CMake-beállítások implementációja így néz ki:
{
"configurations": [
{
"name": "x64-debug",
"generator": "Ninja",
....
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
]
}
CMake-beállítások
Ugyanezek a kulcsok használhatók a CMake-készletekben az vendor objektumon keresztül.
A CMake előre beállított implementációja a következőképpen néz ki:
"configurePreset": [
{ "name": "base",
....
"vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": {
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
}
}
]
Figyelmeztetés megjelenítése
Clang-Tidy futtatások figyelmeztetéseket eredményeznek a hibalistában, és a szerkesztőben a megfelelő kódszakaszok alatt hullámos vonalakként jelennek meg. A Clang-Tidy figyelmeztetések rendezéséhez és rendszerezéséhez használja a Kategória oszlopot a Hiba lista ablakban. A szerkesztőben megjelenő figyelmeztetéseket úgy konfigurálhatja, hogy a Eszközök> menüben a Kódelemzési jelek letiltása beállítást váltja.
Clang-Tidy konfigurációja
Alapértelmezés szerint a Clang-Tidy nem állít be ellenőrzést, ha engedélyezve van. A parancssori verzióban található ellenőrzések listájának megtekintéséhez futtassa clang-tidy -list-checks a fejlesztői parancssort. Konfigurálhatja az Clang-Tidy futtatott ellenőrzéseket a Visual Studióban. A projekt tulajdonságlapjai párbeszédpanelen nyissa meg a Configuration Properties>Code Analysis>Clang-Tidy lapot. Adja meg a Clang-Tidy Ellenőrzések tulajdonságban futtatandó ellenőrzéseket. Egy jó alapértelmezett készlet a clang-analyzer-*. Ezt a tulajdonságértéket az --checks eszköz argumentuma adja meg. A további konfigurációk az egyéni .clang-tidy fájlokba is belefoglalhatók. További információt a LLVM.orgClang-Tidy dokumentációjában talál.
Clang-Tidy eszközkönyvtár
Ha egyéni szabályokat szeretne beépíteni a clang-tidy futtatható állományába, és azt futtatni kívánja a Microsoft Visual Studióban, módosíthatja a Visual Studio által használt végrehajtható útvonalat. A projekt tulajdonságlapjai párbeszédpanelen nyissa meg a Configuration Properties>Code Analysis>Clang-Tidy lapot. Írja be manuálisan az elérési utat, vagy tallózással jelölje ki az elérési utat az Clang-Tidy Eszközkönyvtár tulajdonság alatt. Az új végrehajtható fájl a módosítás mentése után lesz használatban, és az alkalmazás újrafordítása megtörténik.
Clang-Tidy további beállítások
A Clang-Tidy További beállítások tulajdonság lehetővé teszi további fordítóargumentumok megadását Clang-Tidy parancssori --extra-args beállítással. Ezekkel az argumentumokkal szabályozható, hogy Clang-Tidy hogyan elemzi a kódot, például makrók definiálásával, elérési utakkal vagy nyelvi szabványokkal. Adja meg az argumentumokat pontosvesszővel elválasztott listaként. Például: -std=c++20;-DMY_DEFINE=1;-Ipath\to\include.
Clang-Tidy Előre hozzáadott további opciók
Az Clang-Tidy Kiegészítő opciók előfűzése tulajdonság lehetővé teszi, hogy megadjuk a parancssorban --extra-args-before Clang-Tidy-nek átadott fordítóargumentumokat. Ezek az argumentumok az alapértelmezett fordítóargumentumok elé kerülnek, amikor Clang-Tidy elemzi a kódot. Adja meg az argumentumokat pontosvesszővel elválasztott listaként. Például: -std=c++20;-DMY_DEFINE=1;.
Folyamatok maximális száma
A Folyamatok maximális száma tulajdonság lehetővé teszi annak megadását, hogy hány folyamat Clang-Tidy használható az elemzés párhuzamos futtatásához. Alapértelmezés szerint a Clang-Tidy sorosan fut. Állítsa be ezt a tulajdonságot a párhuzamos végrehajtás engedélyezéséhez, és adja meg a párhuzamos folyamatok számát. Állítsa be úgy, hogy 0 a rendszeren elérhető összes logikai processzort használja. A folyamatok számának növelése javíthatja a többmagos gépek elemzési sebességét.
Lásd még
Clang/LLVM-támogatás MSBuild-projektekhez
Clang/LLVM-támogatás CMake-projektekhez