Preferências de estilo de código
Você pode definir as configurações de estilo do 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 editor de texto. Para o código C#, também é possível configurar o Visual Studio para aplicar essas preferências de estilo de código usando os comandos Limpeza de código (Visual Studio 2019, Visual Studio 2022) e Formatar documento (Visual Studio 2017).
Estilos de código em arquivos EditorConfig
As configurações de estilo de código para .NET podem ser especificadas com a adição de um EditorConfig ao seu projeto. Os arquivos EditorConfig são associados a uma base de códigos 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 que são especificados na caixa de diálogo Opções. Use um arquivo EditorConfig quando quiser impor estilos de codificação para todos os fatores que contribuem para o seu repositório ou projeto.
Você pode preencher manualmente o arquivo EditorConfig ou gerar automaticamente um arquivo com base nas configurações de estilo de código definidas na caixa de diálogo Opções do Visual Studio. Essa página de opções está disponível em Ferramentas>Opções>Editor de texto> [C# ou Basic] >Estilo de código>Geral. Clique em Gerar arquivo .editorconfig das configurações para gerar automaticamente um arquivo .editorconfig de estilo de codificação com base nas configurações na página Opções.
Você pode preencher manualmente o arquivo EditorConfig ou gerar automaticamente um arquivo com base nas configurações de estilo de código definidas na caixa de diálogo Opções do Visual Studio. Essa página de opções está disponível em Ferramentas>Opções>Editor de texto> [C# ou Visual Basic] >Estilo de código>Geral. Clique em Gerar arquivo .editorconfig das configurações para gerar automaticamente um arquivo .editorconfig de estilo de codificação com base nas configurações na página Opções.
Estilos de código 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 do Visual Basic abrindo a caixa de diálogo Opções no menu Ferramentas. Na caixa de diálogo Opções, selecione Editor de Texto> [C# ou Visual Basic] >Estilo de código>Geral.
As preferências de estilo de código podem ser definidas para todos os seus projetos C# e do Visual Basic abrindo a caixa de diálogo Opções no menu Ferramentas. Na caixa de diálogo Opções, selecione Editor de Texto> [C# ou Basic] >Estilo de código>Geral.
Cada item na lista mostra uma versão prévia da preferência quando selecionada:
As opções definidas nessa janela são aplicáveis à sua conta de personalização do Visual Studio e não estão associadas a um determinado projeto ou base de códigos. Além disso, elas não são impostas no tempo de compilação, inclusive em builds de CI (integração contínua). Se você quiser associar as preferências de estilo de código ao seu projeto e ter os estilos impostos durante a criação, especifique as preferências em um arquivo .editorconfig que foi associado ao projeto.
Preferência e gravidade
Em cada configuração de estilo de código nessa página, é possível definir os valores de Preferência e Gravidade usando as listas suspensas de cada linha. A gravidade pode ser definida como Somente Refatoração, Sugestão, Aviso ou Erro. Se você quiser habilitar Ações Rápidas para um estilo de código, verifique se a configuração de Gravidade está definida como algo diferente de Somente Refatoração. 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.
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 da compilação, as violações de estilo de código aparecem como avisos ou erros com o prefixo "IDE". Assim, você pode impor estritamente estilos de código de acordo com sua base de código.
Aplicar estilos de código
Para arquivos de código C#, o Visual Studio tem um botão 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 opções estilo de código. Se um arquivo .editorconfig existir para o projeto, essas serão as configurações com 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:
Primeiramente, configure quais estilos de código 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.
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, +E para executar a 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 Limpeza de Código e, em seguida, selecione Executar Limpeza de Código.
Se quiser que as configurações de estilo de código sejam aplicadas sempre que salvar um arquivo, você apreciará a extensão Limpeza de código ao salvar.
Para arquivos de código C#, o Visual Studio tem um botão 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 opções estilo de código. Se um arquivo .editorconfig existir para o projeto, essas serão as configurações com 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:
Primeiramente, configure quais estilos de código 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.
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, +E.
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.
Se você quiser que as configurações de estilo de código sejam aplicadas sempre que salvar um arquivo, acesse Opções>Editor de texto>Limpeza de código e selecione Executar perfil de Limpeza de Código ao salvar.
Configurações de limpeza de código
A maioria das configurações de limpeza de código é mapeada para um ou mais estilos de código .NET compatível com .editorconfig. Para obter exemplos que mostram os efeitos das configurações, use os links da 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 | file_header_template |
Remover variáveis não utilizadas | 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 utilizadas | IDE0058 |
Aplicar preferências de tipo de linguagem/estrutura | IDE0049 |
Remover supressões não utilizadas | dotnet_remove_unnecessary_suppression_exclusions |
Aplicar simplificar preferências de expressão booliana | 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 usados | 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 do 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 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 de padrões correspondentes | 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 novas() preferências | csharp_style_implicit_object_creation_when_type_is_apparent |
Aplicar preferências de intervalo | csharp_style_prefer_range_operator |
Aplicar preferências de função 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 preferências de uso de instrução | csharp_prefer_simple_using_statement |
Aplicar preferências de expressão throw | csharp_style_throw_expression |
::: moniker-end