Partilhar via


Preferências de estilo de código e limpeza de código

As preferências de estilo de código permitem controlar aspetos do código, como estilo de recuo, largura da guia, caracteres de fim de linha, codificação e muitas outras opções de formatação. Você pode definir configurações de estilo de código de duas maneiras:

Você também pode configurar o Visual Studio para aplicar preferências de estilo de código usando os comandos Limpeza de código e Formatar documento .

Você pode definir configurações de estilo de código por projeto usando um arquivo EditorConfig ou para todo o código editado no Visual Studio na página Opções do editor de texto .NET ou na página Opções C/C++. Para código C#, você também pode configurar o Visual Studio para aplicar essas preferências de estilo de código usando os comandos Limpeza de código (Visual Studio 2019) e Formatar documento (Visual Studio 2017).

Para o .NET, as preferências de estilo de código são baseadas em analisadores de plataforma de compilador .NET (Roslyn). Para obter mais informações, consulte Análise de código usando analisadores de plataforma de compilador .NET (Roslyn).

No Visual Studio 2019 versão 16.5 e posterior, os arquivos de conjunto de regras são preteridos em favor de arquivos EditorConfig para configuração de estilo de código para código .NET. Para obter mais informações, consulte Converter um arquivo de conjunto de regras existente em um arquivo EditorConfig.

Estilos de código em arquivos EditorConfig

As configurações de estilo de código podem ser especificadas adicionando um arquivo EditorConfig ao seu projeto. Os arquivos EditorConfig estão associados a uma base de código em vez de uma conta de personalização do Visual Studio. As configurações em um arquivo EditorConfig têm precedência sobre os estilos de código especificados na caixa de diálogo Opções . Use um arquivo EditorConfig quando quiser impor estilos de codificação para todos os colaboradores do seu repositório ou projeto. Eles são especialmente úteis para garantir a consistência em um ambiente de programação de equipes.

Para adicionar um arquivo EditorConfig, consulte Adicionar e remover arquivos EditorConfig.

Para obter informações de referência sobre configurações de estilo de código .NET, consulte Configurações de estilo de código.

Estilos de código C/C++ na caixa de diálogo Opções

Você pode especificar muitas opções individuais de formatação de código, como indentação e posições de chaveta. Para fazer isso, vá para Ferramentas>Opções>Editor> de TextoC/C++>Code Style>Formatting (ou digite Ctrl + Q e procure por "Formatação"). Como alternativa, você pode especificar um dos estilos ClangFormat (ou seu próprio estilo personalizado ClangFormat).

Captura de ecrã do painel Opções com o Editor de Texto.

Você pode especificar muitas opções individuais de formatação de código, como indentação e posições de chaveta. Para fazer isso, vá para Ferramentas>Opções>Editor de Texto>C/C++>Formatação (ou digite Ctrl + Q e procure por "Formatação"). Como alternativa, você pode especificar um dos estilos ClangFormat (ou seu próprio estilo personalizado ClangFormat).

Para obter mais informações sobre todas as opções de formatação, consulte Opções, Editor de texto, C/C++, Formatação.

Estilos de código .NET na caixa de diálogo Opções

As preferências de estilo de código podem ser definidas para todos os seus projetos C# e Visual Basic ao abrir a caixa de diálogo Opções do menu Ferramentas. Na caixa de diálogo Opções , selecione Editor> de Texto [C# ou Visual Basic] >Estilo de Código.

  • Para estilos de formatação, selecione opções em Formatação.
  • Para preferências de estilo de código associadas a Ações Rápidas e regras de estilo de código IDE, selecione opções em Geral ou Nomenclatura.

As preferências de estilo de código podem ser definidas para todos os seus projetos C# e Visual Basic ao abrir a caixa de diálogo Opções do menu Ferramentas. Na caixa de diálogo Opções de , selecione Editor de Texto> [C# ou Basic] >Estilo de Código>Geral.

Cada item na lista mostra uma visualização da preferência quando você seleciona a opção:

Captura de tela das opções de estilo de código.

Captura de tela das opções de estilo de código.

As opções definidas nesta janela são aplicáveis à sua conta de personalização do Visual Studio e não estão associadas a um projeto ou base de código específico. Além disso, eles não são aplicados no momento da compilação, inclusive em compilações de integração contínua (CI). Se você quiser associar preferências de estilo de código ao seu projeto e ter os estilos impostos durante a compilação, especifique as preferências em um arquivo EditorConfig associado ao projeto.

Preferência e gravidade

Para cada configuração de estilo de código nas páginas de opções Geral e Nomenclatura , você pode definir os valores de Preferência e Severidade usando os menus suspensos em cada linha. A severidade pode ser definida como Apenas Refatoração, Sugestão, Aviso ou Erro .

  • As preferências de estilo de código nas páginas de opções Geral e Nomenclatura determinam as Ações Rápidas para um estilo de código. O ícone de Ações Rápidas, lâmpada , lâmpada de erro , ou chave de fenda aparece quando um estilo não preferido é usado, e pode-se escolher uma opção na lista de Ações Rápidas para reescrever automaticamente o código para o estilo preferido.
  • Caso pretenda que a violação apareça apenas como uma Ação Rápida e também seja excluída da limpeza de código, defina a Severidade para Apenas Refatoração.
  • Se desejar que a violação apareça na janela Lista de Erros, bem como nas Ações Rápidas, e seja incluída na limpeza do código, defina a Severidade como Sugestão, Aviso ou Erro. As violações aparecem como uma sugestão (mensagem), aviso ou erro quando você define a saída na janela Lista de Erros como Build + IntelliSense. Eles são excluídos da saída apenas de Build.

As configurações em um arquivo EditorConfig têm precedência sobre os estilos de código definidos nessas páginas.

Aplicar estilos de código durante a compilação

A partir do Visual Studio 2019 versão 16.8, que inclui o SDK do .NET 5.0 RC2, você pode impor as convenções de codificação do .NET no de compilação para todos os projetos .NET. No momento da compilação, as violações de estilo de código .NET aparecerão como avisos ou erros com um prefixo "IDE". Isso permite que você imponha estritamente estilos de código consistentes em sua base de código.

Aplicar estilos de código

Quando você altera um estilo de código na página Opções ou adiciona um arquivo EditorConfig ao seu projeto no Visual Studio, somente novas linhas de código são formatadas com base nas novas configurações. A formatação do código existente não é alterada, a menos que você execute um dos seguintes comandos:

  • Limpeza de código.

    Selecione Limpeza de código no editor do Visual Studio ou pressione Ctrl+K, Ctrl+E. Este comando aplica-se a configurações de espaço em branco, como estilo de recuo, e configurações de estilo de código selecionadas, como preferências de parênteses.

  • Formatar documento.

    Selecione Editar>Avançado>Formatar Documento, ou pressione Ctrl+K, Ctrl+D no perfil padrão. Este comando aplica-se apenas a configurações de espaço em branco, como estilo de recuo.

Aplicar estilos de código através da limpeza de código

Para aplicar estilos de código de um arquivo EditorConfig ou da página de opções Estilo de código , use o botão Limpeza de código na parte inferior do editor (teclado: Ctrl+K, Ctrl+E). Se existir um arquivo EditorConfig para o projeto, essas são as configurações que têm precedência.

Dica

As regras .NET configuradas com uma severidade de Refatoração Apenas não participam da limpeza de código, mas podem ser aplicadas individualmente através do menu Ações Rápidas e Refatoração.

Para aplicar estilos de código:

  1. Primeiro, configure quais estilos de código você deseja aplicar (em um dos dois perfis) na caixa de diálogo Configurar Limpeza de Código. Para abrir essa caixa de diálogo, clique na seta de expansão ao lado do ícone da vassoura de limpeza de código e escolha Configurar limpeza de código. Como alternativa, use o menu Analisar>limpeza de código .

    captura de ecrã de Configurar limpeza de código.

    Para obter um mapeamento de ferramentas de limpeza de código .NET para regras de estilo de código .NET, consulte Configurações de limpeza de código .NET.

    As opções C/C++ incluem C++ no nome do resolvedor.

  2. Depois de configurar a limpeza de código, use um dos seguintes métodos para executar a limpeza de código:

    • Clique no ícone da vassoura ou pressione Ctrl+K, Ctrl+E.

      Captura de tela de Limpeza de código executada.

    • Para executar a limpeza de código em todo o seu projeto ou solução, clique com o botão direito do mouse no nome do projeto ou solução no Gerenciador de Soluções, selecione Analisar e Limpeza de Código e selecione Executar Limpeza de Código.

      Captura de tela da Limpeza de código de execução em todo o projeto ou solução.

  3. (Opcional) Se você quiser que suas configurações de estilo de código sejam aplicadas sempre que salvar um arquivo, vá para Opções deLimpeza de Código do Editor> deTexto e selecione >perfil de Limpeza de Código ao salvar.

Para arquivos de código C#, o Visual Studio tem um botão Code Cleanup na parte inferior do editor (teclado: Ctrl+KCtrl+E) para aplicar estilos de código de um arquivo EditorConfig ou da página de opções Code Style. Se existir um arquivo EditorConfig para o projeto, essas são as configurações que têm precedência.

Dica

As regras configuradas com uma severidade de Nenhum não participam na limpeza de código, mas podem ser aplicadas individualmente através do menu Ações Rápidas e Refatorações.

Para aplicar estilos de código:

  1. Primeiro, configure quais estilos de código você deseja aplicar (em um dos dois perfis) na caixa de diálogo Configurar Limpeza de Código. Para abrir essa caixa de diálogo, clique na seta de expansão ao lado do ícone da vassoura de limpeza de código e escolha Configurar limpeza de código.

    captura de ecrã de Configurar limpeza de código.

  2. Depois de configurar a limpeza de código, use um dos seguintes métodos para executar a limpeza de código:

    • Clique no ícone da vassoura ou pressione Ctrl+K, Ctrl+E para executar a limpeza de código.

      Captura de tela de Limpeza de código executada.

    • Para executar a limpeza de código em todo o projeto ou solução, clique com o botão direito do mouse no nome do projeto ou da solução no Gerenciador de Soluções , selecione Analisar e Limpeza de Código e, em seguida, selecione Executar Limpeza de Código.

      Captura de tela da Limpeza de código de execução em todo o projeto ou solução.

    Se você quiser que suas configurações de estilo de código sejam aplicadas toda vez que salvar um arquivo, você pode gostar da extensão Code Cleanup on Save.

Configurações de limpeza de código .NET

A maioria das configurações de limpeza de código são mapeadas para um ou mais estilos de código .NET suportados no EditorConfig. Para obter exemplos que mostram os efeitos das configurações, use os links na tabela a seguir.

Cenário ID da regra ou opção de estilo
Remover importações ou utilizações desnecessárias IDE0005
Ordenar importações ou utilizações
dotnet_sort_system_directives_firstdotnet_separate_import_directive_groups
Aplicar preferências de cabeçalho de arquivo file_header_template
Remover variáveis não utilizadas CS0219
Aplicar preferências de criação de objetos estilo_visual_basic_prefere_criação_de_objetos_simplificada
Aplicar preferências "IsNot" visual_basic_style_prefer_isnot_expression
Adicionar qualificação 'isto' ou 'Eu' IDE0003-IDE0009
Adicionar modificadores de acessibilidade dotnet_style_require_accessibility_modifiers
Modificadores de ordem IDE0036
Tornar o campo só de leitura dotnet_style_readonly_field
Remover moldes desnecessários IDE0004
Aplicar parâmetros de inicialização de objeto/coleção) dotnet_style_object_initializer
Aplicar usando as preferências de posicionamento de diretiva csharp_using_directive_placement
Aplicar preferências entre parênteses IDE0047-IDE0048
Aplicar preferências de valor não utilizadas IDE0058
Aplicar preferências de tipo de idioma/estrutura IDE0049
Remover supressões não utilizadas dotnet_remove_unnecessary_suppression_exclusions
Aplicar preferências de expressão booleana simplificada dotnet_style_prefer_simplified_boolean_expressions
Aplicar preferências de interpolação de cadeia de caracteres dotnet_style_prefer_simplified_interpolation
Remover parâmetros não utilizados dotnet_code_quality_unused_parameters (parâmetros não utilizados de qualidade de código)
Aplicar preferências de propriedade automática dotnet_style_prefer_auto_properties
Aplicar preferências compostas de atribuição dotnet_style_prefer_compound_assignment
Aplicar preferências de expressão de coalescência dotnet_style_coalesce_expression
Aplicar preferências de expressão condicional
dotnet_style_prefer_conditional_expression_over_assignmentdotnet_style_prefer_conditional_expression_over_return
Aplicar preferências de nome de tupla
dotnet_style_explicit_tuple_namesdotnet_style_prefer_inferred_tuple_names
Aplicar preferências de nomes de membros de tipo anônimo inferido dotnet_style_prefer_inferred_anonymous_type_member_names
Aplicar preferências de verificação nula dotnet_style_prefer_is_null_check_over_reference_equality_method
Aplicar preferências de propagação nula dotnet_style_null_propagation
Aplicar preferências de 'var' IDE0007-IDE0008
Adicionar as chaves necessárias às instruções de controlo em linha única csharp_prefer_braces
Aplicar preferências de expressão/corpo de bloco Membros com corpo de expressão
Aplicar preferências de variáveis 'out' embutidas estilo_csharp_declaracao_de_variavel_inline
Aplicar preferências de correspondência de padrões Preferências de correspondência de padrões
Aplicar preferências de chamada de delegado condicional csharp_style_conditional_delegate_call (chamada condicional de delegado em estilo C#)
Aplicar preferências de função local estática preferência_para_função_local_estática_em_Csharp
Aplicar preferências de desconstrução estilo_csharp_declaração_variável_desconstruída
Aplicar preferências padrão(T) csharp_prefer_simple_default_expression
Aplicar novas() preferências estilo_csharp_criação_implícita_de_objetos_quando_o_tipo_é_aparente
Aplicar preferências de intervalo estilo_csharp_preferir_operador_de_intervalo
Aplicar preferências por funções locais em vez de anónimas. csharp_style_pattern_local_over_anonymous_function
Aplicar preferências nulas de parâmetro Preferências de verificação nula
Aplicar usando preferências de declaração csharp_preferir_instrução_usando_simples
Aplicar preferências de expressão de lançamento csharp_style_throw_expression