Condividi tramite


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 Microsoft
  • enableClangTidyCodeAnalysis: abilita l'analisi Clang-Tidy
  • clangTidyChecks: 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 abilita cert-oop58-cpp e google-runtime-int, ma disabilita cppcoreguidelines-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 Impostazioni del progetto CMake. È possibile usare le chiavi precedenti per compilare le specifiche Clang-Tidy nel file JSON di CMake Impostazioni.

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