Compartilhar via


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

As preferências de estilo de código permitem controlar aspectos 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 as 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 as configurações de estilo de código por projeto usando um arquivo EditorConfig ou para todo o código que editar no Visual Studio na página Opções do .NET do editor de texto ou na página Opções do 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 Roslyn (a plataforma de compilador do .NET). Para obter mais informações, consulte Análise de código usando analisadores roslyn (plataforma de compilador do .NET).

No Visual Studio 2019 versão 16.5 e posterior, os arquivos de conjunto de regras são preteridos em favor dos 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 sã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 para seu repositório ou projeto. Elas 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 as configurações de estilo de código do .NET, consulte as configurações de estilo de código.

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

É necessário especificar muitas opções de formatação de código individuais, como recuo e posições de chaves. Para fazer isso, acesse Ferramentas>Opções>Editor de Texto>C/C++>Estilo de Código>Formatação (ou digite Ctrl + Q e pesquise por "Formatação"). Como alternativa, você pode especificar um dos estilos ClangFormat (ou seu próprio estilo ClangFormat personalizado).

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

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

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 de C# e Visual Basic abrindo a caixa de diálogo Opções no menu Ferramentas. Na caixa de diálogo Opções, selecione o Estilo de Código> de Texto [C# ou >].

  • Para estilos de formatação, selecione as 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 de C# e Visual Basic abrindo a caixa de diálogo Opções no menu Ferramentas. Na caixa de diálogo Opções do, selecione Editor de Texto> [C# ou básico] >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ífica. Além disso, elas não são impostas durante o processo de build, incluindo as builds 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 o build, 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 Preferência e Severidade utilizando as listas suspensas em cada linha. A gravidade pode ser definida como Somente 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 o estilo de código. O ícone de lâmpada Ações Rápidas, lâmpada de erro ou chave de fenda aparece quando um estilo não preferencial é usado. É possível escolher uma opção na lista Ações Rápidas para reescrever o código automaticamente no estilo preferencial.
  • Se você quiser 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 Somente Refatoração.
  • Se você quiser que a violação apareça na janela Lista de Erros, bem como ações rápidas, e seja incluída na limpeza de 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 apenas da saída Criar.

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

Impor estilo de código na compilação

A partir do Visual Studio 2019 versão 16.8, que inclui o SDK do .NET 5.0 RC2, é possível impor as convenções de codificação do .NET na compilação para todos os projetos do .NET. No momento do build, as violações de estilo de código do .NET serão exibidas 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, apenas 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. Esse comando se aplica 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êntese.

  • Formatar Documento.

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

Aplicar estilos de código utilizando a função de 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 serão as configurações que têm precedência.

Dica

As regras .NET configuradas com uma gravidade de Somente refatoração não participam da limpeza de código, mas podem ser aplicadas individualmente por meio 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 de vassoura de limpeza de código e, em seguida, escolha Configurar limpeza de código. Como alternativa, use o menu Analisar>Limpeza de Código .

    Captura de tela 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 do .NET, consulte Configurações de limpeza de código .NET.

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

  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 de vassoura ou pressione Ctrl+K, Ctrl+E.

      Captura de tela de Executar limpeza de código.

    • 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 Limpar Código e, em seguida, selecione Executar Limpeza de Código.

      Captura de tela Executar Limpeza de Código em todo projeto ou em toda solução.

  3. (Opcional) Se você quiser que as configurações de estilo de código sejam aplicadas sempre que salvar um arquivo, navegue até Opções>Editor de Texto>Limpeza de Código e selecione Executar perfil de Limpeza de Código ao salvar.

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

Dica

As regras configuradas com uma gravidade de Nenhum não participam da limpeza de código, mas podem ser aplicadas individualmente por meio 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 de vassoura de limpeza de código e, em seguida, escolha Configurar limpeza de código.

    Captura de tela 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 de vassoura ou pressione Ctrl+K, Ctrl+E para executar a limpeza de código.

      Captura de tela de Executar limpeza de código.

    • 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 do Gerenciador de Soluções, selecione Analisar e Limpar Códigoe selecione Executar Limpeza de Código.

      Captura de tela Executar Limpeza de Código em todo projeto ou em toda solução.

    Se quiser que as configurações de estilo de código sejam aplicadas sempre que salvar um arquivo, você poderá gostar da limpeza de código na extensão Salvar.

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

A maioria das configurações de limpeza de código é mapeada para um ou mais estilos de código .NET com suporte no EditorConfig. Para obter exemplos que mostram os efeitos das configurações, use os links na tabela a seguir.

Configuração ID da regra ou opção de estilo
Remover importações ou usos desnecessários IDE0005
Classificar importações ou usos dotnet_sort_system_directives_first
dotnet_separate_import_directive_groups
Aplicar preferências de cabeçalho de arquivo modelo_de_cabeçalho_de_arquivo
Remover variáveis não utilizados CS0219
Aplicar preferências de criação de objeto visual_basic_style_prefer_simplified_object_creation
Aplicar preferências de IsNot visual_basic_style_prefer_isnot_expression
Adicionar a qualificação “este” ou “Eu” IDE0003-IDE0009
Adicionar modificadores de acessibilidade dotnet_style_require_accessibility_modifiers
Modificadores de ordem IDE0036
Tornar campo “somente leitura” dotnet_style_readonly_field
Remover conversões desnecessárias IDE0004
Aplicar parâmetros de inicialização de objeto/coleção) dotnet_style_object_initializer
Aplicar preferências de uso de posicionamento de diretiva csharp_using_directive_placement
Aplicar preferências de parênteses IDE0047-IDE0048
Aplicar preferências de valor não utilizado IDE0058
Aplicar preferências de tipo de linguagem/estrutura IDE0049
Remover supressões não utilizadas dotnet_remove_unnecessary_suppression_exclusions
Aplicar preferências de expressão booliana 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
Aplicar preferências de propriedade automática dotnet_style_prefer_auto_properties
Aplicar preferências de atribuição composta dotnet_style_prefer_compound_assignment
Aplicar preferências de expressão de união dotnet_style_coalesce_expression
Aplicar preferências de expressão condicional dotnet_style_prefer_conditional_expression_over_assignment
dotnet_style_prefer_conditional_expression_over_return
Aplicar preferências de nome de tupla dotnet_style_explicit_tuple_names
dotnet_style_prefer_inferred_tuple_names
Aplicar preferências de nomes de membros de tipo anônimo inferidos 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 nulas dotnet_style_null_propagation
Aplicar preferências de 'var' IDE0007-IDE0008
Adicionar as chaves necessárias para as instruções de controle de linha única csharp_prefer_braces
Aplicar preferências de corpo de expressão/bloco Membros aptos para expressão
Aplicar preferências de variáveis 'out' embutidas csharp_style_inlined_variable_declaration
Aplicar preferências para correspondência de padrões Preferências de padrões correspondentes
Aplicar preferências de chamada de delegado condicional csharp_style_conditional_delegate_call
Aplicar preferências de função local estática csharp_prefer_static_local_function
Aplicar preferências de desconstrução csharp_style_deconstructed_variable_declaration
Aplicar preferências padrão(T) csharp_prefer_simple_default_expression
Aplicar preferências novas() csharp_style_implicit_object_creation_when_type_is_apparent
Aplicar preferências de intervalo csharp_style_prefer_range_operator
Priorizar funções locais sobre funções anônimas. csharp_style_pattern_local_over_anonymous_function
Aplicar preferências nulas de parâmetro Preferências de verificação nula
Aplicar preferências de uso de instrução csharp_prefer_simple_using_statement
Aplicar preferências de expressão throw csharp_style_throw_expression