Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O suporte para Clang-Tidy requer o Visual Studio 2019 versão 16.4 ou posterior. Para ver a documentação dessas versões, defina o controle seletor de Versão do Visual Studio para este artigo do Visual Studio 2019 ou posteriores. Ele está na parte superior do sumário nesta página.
O Code Analysis dá suporte nativamente ao Clang-Tidy em projetos do MSBuild e do CMake, independentemente de você estar usando os conjuntos de ferramentas Clang ou o MSVC. As verificações do Clang-Tidy podem ser executadas como parte da análise de código em segundo plano. Elas aparecem como avisos no editor (rabiscos) e são exibidas na Lista de Erros.
Suporte ao Clang-Tidy está disponível a partir do Visual Studio 2019 versão 16.4. Ele é incluído automaticamente quando você escolhe uma carga de trabalho C++ no Instalador do Visual Studio.
Clang-Tidy é a ferramenta de análise padrão ao usar o conjunto de ferramentas LLVM/clang-cl, disponível tanto no MSBuild quanto no CMake. Você pode configurá-lo ao usar um conjunto de ferramentas MSVC para executar paralelamente ou em substituição à experiência padrão do Code Analysis. Se você usar o conjunto de ferramentas clang-cl, o Microsoft Code Analysis não fica disponível.
O Clang-Tidy é executado após uma compilação bem-sucedida. Talvez seja necessário resolver erros de código-fonte para obter resultados do Clang-Tidy.
MSBuild
Você pode configurar o Clang-Tidy para executar como parte da Análise de Código e compilar na página Code Analysis>Geral na janela Propriedades do Projeto. As opções para configurar a ferramenta podem ser encontradas no submenu do Clang-Tidy.
Para obter mais informações, consulte Como definir propriedades do Code Analysis para projetos do C/C++.
CMake
Em projetos do CMake, você pode configurar verificações Clang-Tidy dentro de CMakeSettings.json
ou CMakePresets.json
.
O Clang-Tidy reconhece as seguintes chaves:
-
enableMicrosoftCodeAnalysis
: Habilita o Microsoft Code Analysis -
enableClangTidyCodeAnalysis
: Habilita análise do Clang-Tidy -
clangTidyChecks
: configuração do Clang-Tidy. Uma lista separada por vírgulas de verificações para habilitar ou desabilitar. Um-
à esquerda desabilita a verificação. Por exemplo,cert-oop58-cpp, -cppcoreguidelines-no-malloc, google-runtime-int
habilitacert-oop58-cpp
egoogle-runtime-int
, mas desabilitacppcoreguidelines-no-malloc
. Para obter uma lista de verificações Clang-Tidy, consulte a documentação Clang-Tidy.
Se nenhuma das opções "habilitar" for especificada, o Visual Studio selecionará a ferramenta de análise correspondente ao conjunto de ferramentas de plataforma usado.
Configurações do CMake
Para editar as configurações do Clang-Tidy, abra as configurações do CMake e selecione Editar JSON no Editor de Configurações do projeto do CMake. Você pode usar as chaves acima para preencher suas especificações do Clang-Tidy no arquivo JSON de configurações do CMake.
Uma implementação de configurações do CMake de exemplo tem esta aparência:
{
"configurations": [
{
"name": "x64-debug",
"generator": "Ninja",
....
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
]
}
Predefinições do CMake
As mesmas chaves podem ser usadas em suas predefinições do CMake por meio do objeto vendor
.
Um exemplo de implementação predefinida do CMake tem esta aparência:
"configurePreset": [
{ "name": "base",
....
"vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": {
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
}
}
]
Exibição de aviso
As execuções do Clang-Tidy resultam em avisos exibidos na Lista de Erros e conforme o editor interno rabisca sob seções relevantes do código. Para classificar e organizar avisos Clang-Tidy, use a coluna Categoria na janela Lista de Erros. Você pode configurar avisos no editor alternando a configuração Desabilitar rabiscos do Code Analysis em Ferramentas>Opções.
Configuração do Clang-Tidy
Por padrão, o Clang-Tidy não define nenhuma verificação quando habilitado. Para ver a lista de verificações na versão da linha de comando, execute clang-tidy -list-checks
em um prompt de comando do desenvolvedor. Você pode configurar as verificações de que o Clang-Tidy é executado dentro do Visual Studio. Na caixa de diálogo Páginas de propriedades do projeto, abra a página Propriedades de configuração>Code Analysis>Clang-Tidy. Insira verificações para serem executadas na propriedade Clang-Tidy Checks. Um bom conjunto padrão é clang-analyzer-*
. Esse valor de propriedade é fornecido ao argumento --checks
da ferramenta. Qualquer configuração adicional pode ser incluída em arquivos personalizados .clang-tidy
. Para obter mais informações, consulte a documentação do Clang-Tidy no LLVM.org.
Diretório de Ferramentas Clang-Tidy
Se quiser ter regras personalizadas incorporadas ao executável do clang-tidy e executá-lo no Microsoft Visual Studio, você poderá alterar o caminho do executável que o Visual Studio executa. Na caixa de diálogo Páginas de propriedades do projeto, abra a página Propriedades de configuração>Code Analysis>Clang-Tidy. Digite manualmente o caminho ou Procure e selecione o caminho na propriedade do Diretório de Ferramentas Clang-Tidy. O novo executável é usado depois que a alteração é salva e o aplicativo é recompilado.
opções adicionais do Clang-Tidy
A propriedade Clang-Tidy Opções Adicionais permite especificar argumentos de compilador adicionais que são passados para Clang-Tidy usando a opção --extra-args
de linha de comando. Esses argumentos podem ser usados para controlar como Clang-Tidy analisa seu código, como definir macros, incluir caminhos ou padrões de linguagem. Insira argumentos como uma lista separada por ponto e vírgula. Por exemplo: -std=c++20;-DMY_DEFINE=1;-Ipath\to\include
.
opções adicionais de Clang-Tidy prepend
A propriedade Clang-Tidy Prepend Additional Options permite especificar argumentos do compilador que são passados para Clang-Tidy usando a opção --extra-args-before
de linha de comando. Esses argumentos são inseridos antes dos argumentos do compilador padrão quando Clang-Tidy analisa seu código. Insira argumentos como uma lista separada por ponto e vírgula. Por exemplo: -std=c++20;-DMY_DEFINE=1;
.
Número máximo de processos
A propriedade Número Máximo de Processos permite especificar quantos processos Clang-Tidy podem ser usados para executar a análise em paralelo. Por padrão, Clang-Tidy é executado em série. Defina essa propriedade para habilitar a execução paralela e especifique o número de processos paralelos. Defina-o para 0
usar todos os processadores lógicos disponíveis em seu sistema. Aumentar o número de processos pode melhorar a velocidade de análise em computadores de vários núcleos.
Confira também
Suporte do Clang/LLVM para projetos do MSBuild
Suporte do Clang/LLVM para projetos do CMake