Estilo de código

O ReSharper ajuda você a manter um estilo de código consistente por toda a sua base de código. As configurações de estilo padrão baseiam-se em convenções e práticas recomendadas amplamente aceitas. No entanto, se as suas preferências pessoais ou os normas da sua empresa forem diferentes, você poderá defini-las globalmente ou por solução e compartilhar as configurações entre toda a sua equipe.

Suas preferências de estilo de código são levadas em conta quando o ReSharper sugere nomes de símbolos no preenchimento do código, gera novos membros, aplica modelos de código e realiza refatorações.

Violações de estilo de código são detectadas com inspeções de código e podem ser corrigidas com correções rápidas ou limpeza de código.

Applying code cleanup to enforce code style settings

Limpeza de código

A limpeza de código é um recurso que ajuda a eliminar violações de estilo de código instantaneamente em um ou mais arquivos, em um projeto ou em toda a solução com um único atalho: Ctrl+E, C.

Dois perfis padrão — Full Cleanup (que aplica todas as configurações de estilo de código, exceto o estilo de nomenclatura) e Reformat Code (que somente aplica suas regras de formatação) — podem ser complementados pelos seus perfis personalizados específicos de tarefas.

Reformatting currently selected code

Formatação de código

O ReSharper pode reformatar um bloco de código arbitrariamente selecionado, todo o código no arquivo atual e todos os arquivos em um diretório ou até mesmo em todo o projeto ou solução, de acordo com suas preferências. O ReSharper fornece opções de formatação distintas para todas as linguagens com suporte. A reformatação afeta o layout de chaves, linhas em branco, opções de quebra automática, quebras de linha, espaços em vários contextos, recuo, alinhamento de várias construções e muitas outras opções que você pode ajustar na caixa de diálogo ReSharper Options.

A configuração contextual de regras de formatação está disponível pressionando Alt+Enter sobre o código selecionado que você precisa reformatar. Escolha Format Selection | Configure na lista de ações para ver todas as regras de formatação que afetam o código.

Você também pode usar a limpeza de código para reformatar o código.

Replacing explicit type with 'var' keyword

Tipos implícitos/explícitos

O uso de variáveis locais de tipo implícito (palavra-chave var), introduzido no C# 3.0, tornou-se bastante popular por conta da melhor legibilidade do código resultante. Por padrão, o ReSharper também incentiva o uso da palavra-chave var.

No entanto, você pode alterar suas preferências e optar pelo uso de tipos explícitos.

Você também pode usar a limpeza de código para impor suas preferências de tipos implícitos/explícitos.

Use auto-property quick-fix

Usar propriedades automáticas

Propriedades automaticamente implementadas (também conhecidas como propriedades automáticas) permitem declarar propriedades de tipo que não têm lógica adicional de uma maneira mais simples. Por padrão, o ReSharper incentiva o uso de propriedades automáticas quando possível, mas esse comportamento é configurável.

Você pode converter propriedades com campos de suporte em propriedades automáticas com uma correção rápida ou com uma limpeza de código.

Quick-fix to make field readonly

Estilos para modificadores C #

Modificadores C# de tipos e membros de tipo podem ser escritos em qualquer ordem. No entanto, organizá-los de forma semelhante ao longo do código é uma boa prática, que melhora a legibilidade do código. O ReSharper o ajudará a definir a ordem desejada, localizar modificadores não classificados e classificá-los automaticamente.

Além disso, o ReSharper o ajudará a impor sua preferência de usar ou não usar modificadores particulares e internos explicitamente.

Geralmente, é razoável usar o modificador readonly para campos que são atribuídos na declaração ou em um construtor e que só têm uso para leitura. Por padrão, o ReSharper sugere que você torne um campo somente leitura se as condições acima forem atendidas.

Todas as preferências de modificadores são configuráveis, e você pode aplicá-las com correções rápidas e limpeza de código.

Removing redundant code in desired scope

Remover redundâncias de código (somente em C#)

O ReSharper fornece dezenas de inspeções de código para código redundante.

A maioria dessas redundâncias pode ser limpa sem a interação do usuário, usando correção no escopo ou limpeza de código.

Ao remover redundâncias de código, o ReSharper leva em consideração todas as outras configurações de estilo de código. Se construções de código específicas forem definidas como não redundantes por configurações de estilo de código, elas permanecerão intactas.

Extended naming style configuration

Estilo de nomenclatura

O ReSharper permite que você defina configurações de estilo de nomenclatura personalizadas para diferentes linguagens e símbolos, incluindo tipos, namespaces, interfaces, parâmetros, propriedades e eventos de métodos, campos estáticos e de instância, etc.

Para cada tipo de símbolo, você pode configurar uma das cinco opções de maiúsculas e minúsculas, prefixos e sufixos, variações para diferentes direitos de acesso, abreviações a serem preservadas e outras opções.

Todas as violações do estilo de nomenclatura são destacadas no editor e podem ser facilmente corrigidas.

Além disso, você pode navegar por todas as violações de estilo de nomenclatura (e corrigi-las rapidamente) em toda a sua solução (ou em um escopo mais estreito) na janela Inspection Results usando o recurso Localizar issues de código.

Setting style to optimize 'using' directives

Estilo de importação de namespaces

Para tornar seu código mais legível, você pode remover redundâncias usando diretivas e/ou pode encurtar referências qualificadas nos seus arquivos de código C# e VB.NET. Além disso, existem diferentes abordagens para importar namespaces — você pode adicionar diretivas using/import ou usar nomes de tipo totalmente qualificados, além de colocar as diretivas no início superior do arquivo ou dentro de um namespace, etc.

Com o ReSharper, você pode detectar e remover rapidamente importações redundantes no editor ou usar a limpeza de código, que também pode ajudá-lo a classificar as diretivas necessárias em ordem alfabética e as envolver em uma região.

Using C# built-in type keyword instead of CLR type names

Estilo de referência para tipos C# incorporados

As palavras-chave de tipos C# e os nomes de tipos do .NET Framework (CLR) são intercambiáveis para tipos incorporados C#. Se você prefere seguir um ou outro estilo para nomes de tipos incorporados, o ReSharper pode ajudá-lo a manter sua preferência.

A preferência é configurável, e você também pode aplicá-la com a limpeza de código.

Automatically separating multiple C# attributes

Estilos para atributos em C#

Vários atributos em C# podem ser escritos de maneiras diferentes: você pode unir vários atributos na mesma seção de colchetes ou usar várias seções para atributos diferentes. O ReSharper permite que você especifique o estilo de vários atributos e imponha esse estilo no escopo desejado:

O ReSharper também fornece várias regras de formatação para atributos e permite aplicar todas as preferências de estilos de atributos em um modo em lote com a limpeza de código.

Removing redundant member qualifiers

Estilos para qualificadores de membros opcionais

Em C#, você pode qualificar membros de instâncias com a palavra-chave this, enquanto membros estáticos podem ser qualificados com o nome do tipo ou um nome de tipo base. Esses qualificadores ajudam a desambiguar membros ocultos por variáveis locais ou parâmetros de métodos. Em todos os outros casos, esses modificadores são opcionais, e você pode decidir por si mesmo se deseja usá-los ou não. Por padrão, o ReSharper trata todos os qualificadores de membros opcionais como redundantes e sugere sua remoção.

Se você prefere usar qualificadores opcionais, pode definir as configurações de estilo de código correspondentes. Por exemplo, você pode preferir qualificar métodos estáticos com o tipo em que eles são declarados.

Removing redundant parentheses

Estilos para parênteses opcionais

Em muitos casos, parênteses em expressões são opcionais. Às vezes, eles ajudam a esclarecer a precedência das operações — por exemplo: if ((a & b) | c). Porém, outras vezes, eles não são nem um pouco úteis e acabam apenas adicionando código morto — por exemplo: var d = a + (b + c);. O ReSharper ajudará você a definir onde os parênteses opcionais são úteis e, em seguida, limpará os parênteses redundantes ou adicionará automaticamente parênteses esclarecedores caso a precedência da operação não seja óbvia.

Type members layout

Layout de arquivos e tipos (somente C#)

No código C#, o ReSharper pode reordenar automaticamente os membros de arquivos e tipos no seu código. Os membros serão classificados, agrupados, envolvidos em regiões especificadas, etc. de acordo com seus modificadores de tipo e acesso. O ReSharper fornece dois padrões de layout padrão (conjuntos de regras de reordenação) e um editor visual inteligente.

Nota sobre atalhos

Todos os atalhos de teclado fornecidos nesta página estão disponíveis no mapa de teclas "Visual Studio" padrão do ReSharper. Para obter detalhes sobre os dois mapas de teclas do ReSharper, consulte a Documentação do ReSharper.