As ações de contexto do ReSharper reduzem consideravelmente o esforço de digitação quando você precisa inserir pequenas alterações no seu código. Altere modificadores de acesso, gere código que verifica a existência de valores nulos, converta foreach
em for
(e vice-versa), tudo isso com apenas alguns pressionamentos de tecla. Mais de 450 ações de contexto estão disponíveis em C#, VB.NET, XAML, ASP.NET e outras linguagens com suporte. Pressione Alt+Enter sobre um elemento de código que você deseja alterar e selecione uma ação de contexto para aplicar.
Assim que uma ação de contexto se torna disponível na posição atual do sinal de intercalação, o ReSharper exibe o ícone de martelo à esquerda desse sinal. Se houver vários recursos contextualmente disponíveis, que podem ser uma combinação de ações de contexto e correções rápidas, o ícone da ação com a prioridade mais alta será exibido. Clique no indicador de ação ou pressione Alt+Enter para ver todas as ações disponíveis.
Ações de contexto semelhantes (como ações para modificadores de acesso diferentes) estão geralmente agrupadas. Nesse caso, expanda o grupo usando a seta para a direita para selecionar a ação desejada.
Algumas ações de contexto (Remove #regions, Specify enum member values, Add name to argument, etc.) podem ser aplicadas automaticamente em um escopo mais amplo: no método atual, na classe, no arquivo, no projeto atual ou em toda a solução. Você pode clicar em uma pequena seta à direita ou pressionar a tecla de seta à direita no teclado para escolher onde aplicar a transformação.
O ReSharper também fornece correções rápidas, que podem ser exibidas na lista suspensa junto com ações de contexto. A diferença entre elas é simples: correções rápidas aparecem apenas para problemas de código realçados, visando corrig-los e, com sorte, melhorar seu código, enquanto ações de contexto representam mini-refatorações, que simplesmente alteram o código.
É importante observar que correções rápidas têm maior prioridade e, portanto, se houver correções rápidas no seu sinal de intercalação, você deverá pressionar Alt+Enter para ver se existem ações de contexto.
Com o ReSharper, você não precisa digitar nada para verificar se um parâmetro possui valores nulos — basta pressionar Alt+Enter, e o ReSharper gerará toda a rotina de verificação de nulos para você.
Opcionalmente, se você usar anotações de código da JetBrains no seu projeto, o parâmetro será marcado com o atributo [NotNull]
, para que o ReSharper possa avisar sobre quaisquer invocações do método com valores nulos para esse parâmetro.
Neste exemplo, você pode ver como as ações de contexto do ReSharper ajudam a converter rapidamente uma consulta LINQ em um loop foreach
e em uma expressão lambda.
Isto é o oposto da famosa correção rápida do ReSharper, que converte loops em instruções LINQ.
Algumas ações de contexto são mais parecidas com refatorações — elas automatizam transformações complexas de código e, ao mesmo tempo, preservam a lógica.
Neste exemplo, o ReSharper ajuda a transformar um iterador com instruções yield return
em um código que cria, preenche e retorna uma coleção.
Se você precisar adicionar uma condição à inicialização de uma variável local existente, essa ação de contexto o ajudará a desanexar rapidamente essa inicialização. Mesmo que a variável seja digitada implicitamente, o ReSharper calculará automaticamente o tipo correto e o usará na declaração.
Com essa ação de contexto, você pode trocar rapidamente as ramificações de uma instrução if
. O ReSharper garantirá que a condição, por mais complexa, seja negada adequadamente para que a lógica permaneça inalterada.
Seja qual for a sintaxe usada para um delegado (método anônimo ou expressão lambda), as ações de contexto do ReSharper permitem que você altere a sintaxe com alguns pressionamentos de teclas, sem precisar reescrever o código manualmente.
Essa ação de contexto permite criar uma sobrecarga de método que usa um valor padrão para o parâmetro selecionado e, mais uma vez, sem precisar digitar nada.
A ação também está disponível em C# e TypeScript.
In XML-like languages, ReSharper's context actions help you streamline routine editing procedures of expanding/collapsing empty tags, and converting attributes to tags and back. Essas ações estão disponíveis em XML, XAML, ASP.NET, scripts de compilação, HTML e arquivos Resx.