VisualStudio ‐ Code Cleanup - MarcosPiccoli/DotNetPractices GitHub Wiki
CleanUp Visual Studio tool
O Code CleanUp no Visual Studio 2022 é uma ferramenta que ajuda a manter o código limpo e organizado, aplicando regras e formatações de acordo com as diretrizes definidas. Ele automatiza a limpeza e a padronização do código, reduzindo a necessidade de revisão manual e melhorando a consistência do código em projetos de equipe.
O Visual Studio permite criar e configurar múltiplos perfis de limpeza, adaptados às necessidades específicas do projeto ou equipe. Cada perfil pode ter um conjunto diferente de regras e configurações.
Neste documento, será detalhado como realizar a configuração de um perfil, podendo ser alterado o "Profile 1" padrão ou criar um novo perfil.
Criação e Edição:
- Navegue até Ferramentas > Opções.
- Expanda Editor de Texto e selecione C# ou o idioma de programação desejado.
- Selecione Code Cleanup e clique em Configurar.
- Crie um novo perfil ou edite um existente.
CleanUp padrão utilizado por mim
A tabela abaixo detalha os parâmetros que habiitei dessa funcionalidade
Nome | Descrição | Detalhamento |
---|---|---|
Remove unused variables | A principal finalidade da correção "Remove Unused Variables" é identificar e remover variáveis que são declaradas em um código, mas que nunca são usadas. Variáveis não utilizadas podem poluir o código, tornando-o mais difícil de ler e manter, além de representar um desperdício de recursos. | Identificação baseando-se em:1. Variáveis locais; 2. Parâmetros de métodos; 3. campos de classes; |
Make field readonly | Transformar campos que são apenas inicializados e não modificados posteriormente em campos readonly. Isso ajuda a garantir que o valor do campo não seja alterado após a sua inicialização, promovendo a imutabilidade e protegendo o campo contra modificações acidentais. | Identificação baseando-se em:1. Campos inicializados em construtores; 2. Campos inicializados na declaração; |
Remove unnecessary casts | Melhorar a legibilidade e a simplicidade do código ao eliminar conversões de tipo que não afetam o resultado final do código. Casts desnecessários podem tornar o código mais difícil de ler e entender, e sua remoção pode ajudar a tornar o código mais limpo e eficiente. | Identificação baseando-se em:1. Cast para o Mesmo Tipo; 2. Casts Redundantes; |
Format document | Aplicar a formatação automática a um documento de código, ajustando a indentação, o espaçamento, as quebras de linha e outros aspectos da formatação para que estejam em conformidade com as regras de estilo configuradas. Isso ajuda a garantir que o código esteja limpo e organizado, independentemente de como ele foi escrito inicialmente. | |
Remove unnecessary imports or usings | Identificar e remover declarações de namespaces que não são utilizadas no código. Essas declarações, conhecidas como using em C# e imports em Visual Basic, são frequentemente adicionadas automaticamente ou esquecidas ao longo do desenvolvimento. A remoção dessas referências não utilizadas pode reduzir o clutter no código e evitar possíveis conflitos de nomes. | |
Sort import or usings | Teorganizar e ordenar as declarações de namespaces em um arquivo de código-fonte para que fiquem organizadas de forma clara e consistente. A organização das declarações pode seguir um padrão alfabético ou outros critérios definidos pelas preferências do projeto ou da equipe. | |
Apply namespace matches folder preferences | Visa alinhar o namespace de um arquivo de código com a estrutura de pastas onde o arquivo está localizado. Isso ajuda a manter uma correspondência entre a estrutura física dos diretórios no projeto e a hierarquia lógica de namespaces no código, facilitando a navegação e a organização do projeto. | |
Apply blank line preferences | Ajustar o uso de linhas em branco no código de acordo com as preferências de formatação configuradas. Isso pode incluir a adição ou remoção de linhas em branco para garantir uma aparência consistente e organizada no código-fonte. | |
Remove unused suppressions | Remover supressões de advertências e erros que não estão mais aplicáveis no código. Isso ajuda a manter o código limpo e livre de anotações desnecessárias, além de garantir que todas as advertências e erros importantes sejam considerados e tratados adequadamente. | |
Apply simplify boolean expression preferences | Refatorar expressões booleanas complexas ou redundantes em código-fonte para torná-las mais diretas e fáceis de entender. Isso ajuda a melhorar a legibilidade e a manutenção do código, além de potencialmente otimizar o desempenho. | |
Apply string interpolation preferences | Converter e padronizar o uso de interpolação de strings em seu código para seguir as melhores práticas e convenções estabelecidas. Isso pode incluir converter concatenações de strings para a interpolação de strings ou ajustar o formato da interpolação para estar de acordo com as preferências definidas. | |
Remove unused parameters | Identificar e remover parâmetros que são declarados em métodos, mas que não são utilizados no corpo do método. Isso melhora a clareza e a manutenção do código ao reduzir a complexidade e evitar a confusão causada por parâmetros desnecessários. | |
Apply pattern matching preferences | Transformar e ajustar o uso de padrões no código para seguir as preferências e melhores práticas definidas para a correspondência de padrões. Isso pode incluir a conversão de estruturas de controle para usar padrões mais modernos e legíveis, além de aplicar regras de estilo e formatação específicas. | Altera as construções de switch, if-else e pattern matching |
Apply namespace preferences | Aplicar preferências específicas para namespaces em seu código. Isso pode incluir a organização e a formatação dos namespaces para seguir um estilo consistente, garantir que os namespaces estejam alinhados com a estrutura de pastas do projeto, ou fazer ajustes em como os namespaces são usados e declarados. | |
Apply using statement preferences | Aplicar preferências específicas para a inclusão e organização das declarações using no código. Isso inclui ajustar a ordem, a presença ou a formatação das instruções using para seguir as convenções e melhores práticas definidas. | |
Remove unnecessary nullable directive | Identificar e remover diretivas #nullable que não são mais necessárias no código. Isso pode ocorrer quando a configuração de nulabilidade foi aplicada globalmente ou quando as diretivas locais são redundantes devido a outras configurações de projeto ou contexto. | |
Apply statement after block preferences | Aplicar regras específicas para a posição e o estilo das instruções que ocorrem imediatamente após um bloco de código. Isso pode incluir ajustes na formatação, no alinhamento e na colocação de instruções para garantir que o código esteja em conformidade com as preferências estabelecidas. | examina blocos de código, delimitados por{ } em estruturas de controle (if , else , while , ...), identificando instruções após esses blocos e ajustando espaçamento, quebra de linha e identação |
Apply object/collection preferences | Ajustar o código-fonte para estar em conformidade com as preferências configuradas para a criação e manipulação de objetos e coleções. Isso pode incluir a escolha entre diferentes métodos de inicialização, o uso de tipos de coleção apropriados, e outras práticas recomendadas relacionadas a objetos e coleções. |
Visual Studio Code Style
O CleanUp utiliza como base para algumas dessas regras a configuração de Code e Naming Style configurado na solution ou no Visual Studio.
Para importar em um projeto:
-
Baixe este arquivo de configuração
-
Renomear o arquivo
rename.editorconfig
para.editorconfig
(Wiki não baixa o arquivo .xxx da forma correta :sweat: ) -
Inserir na pasta raiz do projeto.
A configuração fica lcalizada em:
Tools -> Options -> Text Editor -> C# -> Code Style -> General
O Visual Studio prioriza a configuração do code style configurado na solution (arquivo .editorconfig) do que a configuração pessoal. {.is-info}
O Code CleanUp do Visual Studio 2022 é uma ferramenta poderosa para manter a qualidade e a consistência do código em projetos de desenvolvimento. Ao configurar e aplicar corretamente os perfis de limpeza, possibilitando economizar tempo, reduzir erros e garantir que o código esteja sempre alinhado com as melhores práticas e padrões da equipe.