Uso di Clang-Tidy in Visual Studio
Il supporto per Clang-Tidy richiede Visual Studio 2019 versione 16.4 o successiva. Per visualizzare la documentazione per questa versione, impostare il controllo selettore della versione di Visual Studio per questo articolo su Visual Studio 2019 o versione successiva. Si trova nella parte superiore del sommario in questa pagina.
Analisi del codice supporta in modo nativo Clang-Tidy per i progetti MSBuild e CMake, sia che si usino set di strumenti Clang o MSVC. I controlli Clang-Tidy possono essere eseguiti come parte dell'analisi del codice in background. Vengono visualizzati come avvisi nell'editor (ondulati) e visualizzati nell'elenco errori.
Il supporto di Clang-Tidy è disponibile a partire da Visual Studio 2019 versione 16.4. Viene incluso automaticamente quando si sceglie un carico di lavoro C++ nella Programma di installazione di Visual Studio.
Clang-Tidy è lo strumento di analisi predefinito quando si usa il set di strumenti LLVM/clang-cl, disponibile sia in MSBuild che in CMake. È possibile configurarlo quando si usa un set di strumenti MSVC da eseguire insieme o per sostituire l'esperienza di analisi del codice standard. Se si usa il set di strumenti clang-cl, l'analisi del codice Microsoft non è disponibile.
Clang-Tidy viene eseguito dopo la compilazione riuscita. Potrebbe essere necessario risolvere gli errori del codice sorgente per ottenere i risultati Clang-Tidy.
MSBuild
È possibile configurare Clang-Tidy per l'esecuzione come parte dell'analisi del codice e della compilazione nella pagina Analisi>codice generale del progetto Finestra Proprietà. Le opzioni per configurare lo strumento sono disponibili nel sottomenu Clang-Tidy.
Per altre informazioni, vedere Procedura: Impostare le proprietà di analisi del codice per i progetti C/C++.
CMake
Nei progetti CMake è possibile configurare i controlli Clang-Tidy all'interno CMakeSettings.json
di o CMakePresets.json
.
Clang-Tidy riconosce le chiavi seguenti:
enableMicrosoftCodeAnalysis
: abilita l'analisi del codice MicrosoftenableClangTidyCodeAnalysis
: abilita l'analisi Clang-TidyclangTidyChecks
: configurazione di Clang-Tidy. Elenco delimitato da virgole di controlli da abilitare o disabilitare. Un elemento iniziale-
disabilita il controllo. Ad esempio,cert-oop58-cpp, -cppcoreguidelines-no-malloc, google-runtime-int
abilitacert-oop58-cpp
egoogle-runtime-int
, ma disabilitacppcoreguidelines-no-malloc
. Per un elenco dei controlli Clang-Tidy, vedere la documentazione di Clang-Tidy.
Se non vengono specificate nessuna delle opzioni "abilita", Visual Studio seleziona lo strumento di analisi corrispondente al set di strumenti della piattaforma usato.
Impostazioni di CMake
Per modificare le impostazioni Clang-Tidy, aprire le impostazioni di CMake e selezionare Modifica JSON nell'editor delle impostazioni del progetto CMake. È possibile usare le chiavi precedenti per compilare le specifiche Clang-Tidy nel file JSON delle impostazioni di CMake.
Un esempio di implementazione delle impostazioni di CMake è simile al seguente:
{
"configurations": [
{
"name": "x64-debug",
"generator": "Ninja",
....
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
]
}
Set di impostazioni di CMake
Gli stessi tasti possono essere usati nei set di impostazioni di CMake tramite l'oggetto vendor
.
Un'implementazione predefinita di CMake di esempio è simile alla seguente:
"configurePreset": [
{ "name": "base",
....
"vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": {
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
}
}
]
Visualizzazione avviso
L'esecuzione di Clang-Tidy genera avvisi visualizzati nell'elenco errori e come si alternano sotto le sezioni di codice pertinenti nell'editor. Per ordinare e organizzare gli avvisi Clang-Tidy, usare la colonna Categoria nella finestra Elenco errori. È possibile configurare gli avvisi nell'editor attivando o disattivando l'impostazione Disattiva squiggle analisi codice in Opzioni strumenti>.
Configurazione di Clang-Tidy
Per impostazione predefinita, Clang-Tidy non imposta alcun controllo quando è abilitato. Per visualizzare l'elenco dei controlli nella versione della riga di comando, eseguire clang-tidy -list-checks
in un prompt dei comandi per sviluppatori. È possibile configurare i controlli eseguiti da Clang-Tidy all'interno di Visual Studio. Nella finestra di dialogo Pagine delle proprietà del progetto aprire la pagina Analisi codice>proprietà>configurazione Clang-Tidy. Immettere i controlli da eseguire nella proprietà Clang-Tidy Checks . Un set predefinito valido è clang-analyzer-*
. Questo valore della proprietà viene fornito all'argomento --checks
dello strumento. Qualsiasi altra configurazione può essere inclusa nei file personalizzati .clang-tidy
. Per altre informazioni, vedere la documentazione di Clang-Tidy su LLVM.org.
Directory degli strumenti Clang-Tidy
Se si vuole avere regole personalizzate integrate nel file eseguibile clang-tidy ed eseguirlo in Microsoft Visual Studio, è possibile modificare il percorso dell'eseguibile eseguito da Visual Studio. Nella finestra di dialogo Pagine delle proprietà del progetto aprire la pagina Analisi codice>proprietà>configurazione Clang-Tidy. Digitare manualmente il percorso o Sfoglia e selezionare il percorso nella proprietà Directory degli strumenti Clang-Tidy. Il nuovo eseguibile viene usato una volta salvata la modifica e l'app viene ricompilata.
Vedi anche
Supporto Clang/LLVM per i progetti MSBuild
Supporto di Clang/LLVM per i progetti CMake