O ReSharper estende o preenchimento de código nativo do Visual Studio (IntelliSense) com recursos mais avançados. Por exemplo, ele restringe a lista de sugestões com base naquilo que você digita, compreende abreviações lowerCamelHumps, sugere variáveis e nomes de campo dependendo de seus nomes de tipo e estilo de nomeação, importa automaticamente os métodos de extensão e tipos selecionados e muito mais.
O preenchimento de código com Ctrl+Espaço reconhece variáveis e métodos, nomes de tipos atualmente visíveis, palavras-chave e muito mais. O ReSharper sugere prefixos automaticamente ao declarar identificadores, de acordo com o seu estilo de nomeação.
Ele até mesmo fornece preenchimento para símbolos não resolvidos no escopo local: mesmo que um símbolo de código não seja declarado, o ReSharper captura seus membros conhecidos com base no uso.
Todos os recursos de preenchimento de código do ReSharper, incluindo o preenchimento de símbolos, oferecem suporte para CamelHumps, o que significa que você pode preencher qualquer item inserindo apenas seus caracteres maiúsculos.
Em arquivos ASP.NET, o ReSharper também fornece preenchimento de código para eventos e propriedades de controles Web, fontes de dados, espaços reservados de conteúdo e, é claro, código C# embutido.
Quando se trata de XAML, você recebe assistência com referências a recursos, enquanto, em scripts de compilação, o ReSharper ajuda você com nomes de propriedades, destinos, tarefas e atributos que estão disponíveis dentro do escopo atual.
Porém, Ctrl+Espaço é muito mais do que isso. Ele também permite que você adicione rapidamente substituições de símbolos, corpos de métodos parciais e classes parciais, além de implementar membros de interface e gerar propriedades. O ReSharper gera e insere todo o corpo do método, construtor, propriedade, etc. ao completar tais itens.
A funcionalidade de preenchimento de código inteligente, chamada com Ctrl+Alt+Espaço, filtra a lista de métodos, campos ou variáveis para corresponder ao tipo esperado de uma expressão.
Por exemplo, quando você usa o preenchimento inteligente para argumentos de chamadas de métodos, a lista de valores sugeridos é reduzida somente ao tipo de parâmetro necessário. O preenchimento inteligente também pode sugerir a criação de métodos anônimos, expressões lambda e métodos regulares, bem como de variáveis locais para parâmetros out
.
O preenchimento inteligente funciona como mágica em manipuladores de eventos XAML e outros contextos.
O recurso "Import symbol completion" é chamado com Shift+Alt+Espaço. Ao contrário de Symbol Completion (que apenas preenche tipos acessíveis na localização atual), esse comando exibe todos os tipos que correspondem a um prefixo especificado, independentemente do namespace ao qual eles pertencem, e adiciona automaticamente as diretivas de importação de namespace apropriadas quando necessário.
Em arquivos de código C#, "Import Symbol Completion" funciona após o ponto com métodos de extensão e insere as diretivas de uso necessárias. Esse recurso também é muito útil na marcação XAML para nomes de tags. Diretivas de importação de namespace também são inseridas conforme necessário.
Quando a lista de preenchimento está vazia ou não contém os itens esperados, você sempre pode pressionar o atalho para qualquer tipo de preenchimento na segunda vez.
O ReSharper estenderá a lista de preenchimento com membros protegidos, privados e internos, símbolos de assemblies não referenciados, cadeias de chamadas com valores de retorno do tipo de dados esperado, conversões para o tipo de dados esperado e muito mais. É claro que, se você usar qualquer uma das sugestões, as importações e referências ausentes serão adicionadas automaticamente.
O ReSharper permite que você reduza sugestões de preenchimento por tipo de símbolo, modificadores de acesso e outros filtros. Você pode modificar o conjunto de filtros aplicados sempre que o preenchimento de código é invocado e/ou pode optar por manter o estado dos filtros.
O ReSharper também fornece um conjunto de recursos de assistência para digitação em C# que corrige erros de digitação imperceptíveis conforme você insere código.
Por exemplo, se você digitar MethodName(.)
acidentalmente, isso será automaticamente substituído por MethodName().
, permitindo que você continue inserindo uma cadeia de chamadas sem precisar lidar com um erro de sintaxe inválida.
Da mesma maneira, o ReSharper corrigirá um prefixo @$
incorretamente digitado para $@
em interpolações de strings textuais.
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.