Com os recursos de navegação do ReSharper, é fácil percorrer sua solução inteira. Salte para qualquer arquivo, tipo ou membro na sua base de código ou navegue de um símbolo específico até seus usos, seus símbolos base e derivados ou suas implementações.
Navigate To é um único atalho para todos os tipos de navegação contextual. Ele lista todos os destinos disponíveis na posição atual do cursor. Pressione Alt+` para acessar links de navegação rápida até a declaração, a declaração de tipo, a classe base, um ou mais herdeiros ou o uso do símbolo sob o sinal de intercalação; a implementação de interface para uma interface; saídas de função para uma função e muito mais.
Para navegar rapidamente até um método ou campo específico no arquivo atual, use o comando "Go to File Member", disponível via Alt+\. Da mesma maneira que "Go to Type", comece a digitar o nome do símbolo e, em seguida, selecione na lista de membros correspondentes. Esse recurso funciona com membros de arquivos de todas as linguagens com suporte.
Esse comando, disponível com Ctrl+T, combina dois recursos diferentes:
Go to Everything, que aparece primeiro, fornece navegação rápida para todos os destinos possíveis (tipos, símbolos ou arquivos). A lista de sugestões é exibida assim que você invoca o comando e inclui inicialmente arquivos e locais de código para os quais você navegou recentemente. À medida que você digita, a lista é atualizada de acordo com a entrada. Você pode usar comandos especiais embutidos que começam com /
para a filtragem avançada de resultados de pesquisa.
Go to Type, que aparece quando você pressiona o atalho novamente, permite navegar para qualquer tipo dentro da sua solução.
Estes e outros recursos "Go to" também oferecem suporte para curingas: *
(asterisco) representa zero ou mais caracteres; aspas duplas em torno da consulta de pesquisa executarão uma pesquisa com correspondência exata; ?
(ponto de interrogação) em uma pesquisa com correspondência exata representa um único caractere uma vez;
Essa ação de navegação, disponível com Ctrl+T,T,T, permite localizar e navegar rapidamente até qualquer texto nos arquivos de origem e textuais incluídos na sua solução. Semelhante a outros comandos de navegação, se houver muitos itens correspondentes, você poderá pressionar + no teclado numérico para explorar os resultados na janela Find Results. Você também pode usar comandos embutidos especiais para restringir os resultados da pesquisa: /cp
para pesquisar no projeto atual, /ext:
para pesquisar em arquivos com uma extensão específica ou /fm:
para uma máscara de arquivo específica.
Esse recurso de navegação, disponível com o atalho Ctrl+F12, permite saltar de um tipo ou membro básico para qualquer uma de suas implementações finais, ignorando as etapas intermediárias da cadeia de herança.
Ele funciona de maneira semelhante a Go to Derived Symbols, mas economiza tempo quando você precisa ignorar um ou mais níveis em uma hierarquia de tipo. Assista ao GIF para ver a diferença.
O ReSharper ajuda você a encontrar e aplicar rapidamente qualquer uma de suas ações, sem procurar no menu (ação aqui quer dizer um comando executável disponível para a posição atual do sinal de intercalação ou um comando que abre uma janela da ferramentas). Para encontrar uma ação, basta pressionar Alt+Enter em qualquer lugar no editor e começar a digitar um nome de comando ou palavras relacionadas.
Esse comando, disponível com o atalho Navigate To (Alt+`), navega de um tipo para todos os locais da sua solução em que você pode obter uma instância desse tipo: campos e propriedades públicos, valores de retorno de método, parâmetros de saída etc.
O comando Go to Symbol procura métodos, campos e outros membros de arquivo por nome em toda a solução. Para acessá-lo, pressione Shift+Alt+T. Observe que os comandos "Go to" do ReSharper, incluindo "Go to Symbol", não fazem distinção entre maiúsculas e minúsculas CamelHumps. Ou seja, você pode encontrar um membro mais rápido inserindo seu caractere inicial e quaisquer caracteres subsequentes que seu nome contenha — por exemplo, você pode localizar testFixedSizeBuffer inserindo tfixs.
Você pode navegar na hierarquia até o tipo ou método base, posicionando o sinal de intercalação em um uso ou em uma declaração de um tipo ou método no editor e pressionando Alt + Home.
A propósito, você também pode ver quando um método substitui, implementa ou oculta outro método, observando os ícones de medianiz especiais que aparecem à esquerda da declaração do método. Clique no ícone para navegar até a hierarquia de métodos.
Para navegar até a declaração de um símbolo, posicione o sinal de intercalação em qualquer uso de símbolo e pressione F12, ou mantenha a tecla Ctrl pressionada e clique com o botão esquerdo no símbolo. O ReSharper saltará até a declaração do tipo, método, campo ou variável local correspondente no arquivo de origem relevante. Para símbolos de biblioteca, a entidade correspondente aparecerá no Navegador de objetos do Visual Studio ou no editor como uma exibição de metadados ou código descompilado, dependendo das configurações do ReSharper.
Você também pode invocar o comando Go to Declaration quando o sinal de intercalação já está em uma declaração de símbolo. Caso você tenha uma declaração e um uso, pode simplesmente alternar entre eles usando um único atalho. Se você tiver vários usos de um símbolo, ocorrências subsequentes de Go to Declaration levará você a outros usos encontrados do símbolo, um uso por vez. A navegação entre usos é auxiliada por um painel semelhante a "Find Usages", que enumera os usos encontrados, contém controles adicionais para clicar com o mouse entre os usos e ajuda a descarregar todos os usos encontrados na janela "Find Results" comum se você desejar.
Esse recurso, disponível pressionando Ctrl+Alt+F7, pode levá-lo a qualquer arquivo referenciado a partir do arquivo atual de uma forma ou de outra. Isso é mais útil para sites e aplicativos: por exemplo, ele permite que você pule de um formulário Web para sua página mestre, controles de usuário ou imagens referenciadas. Em aplicativos ASP.NET MVC, esse recurso simplifica a navegação entre exibições e controladores.
Para saber mais sobre a navegação avançada e outros recursos que o ReSharper disponibiliza para desenvolvedores Web, consulte Ferramentas ASP.NET e ASP.NET MVC.
Esse recurso, disponível com o atalho Navigate To (Alt+`), ajuda você a navegar rapidamente pela estrutura do projeto em torno do arquivo atual. No pop-up que é aberto, você pode ver o projeto ao qual o arquivo atual pertence e as pastas e os arquivos no mesmo nível de diretório e também pode saltar facilmente até esses arquivos ou criar um novo arquivo ou pasta.
Qualquer solução contém seu próprio código-fonte e suas referências a bibliotecas. Achamos que seria ótimo se você pudesse navegar até essas bibliotecas e dentro delas, exatamente como costuma fazer com o código-fonte.
Algumas empresas publicam partes de suas origens usando o recurso Servidor de origem de arquivos de informações de depuração (PDB). Por outro lado, a Microsoft usa essa tecnologia para fornecer acesso ao código-fonte do .NET Framework. Se você tiver PDBs disponíveis e o ReSharper instalado, pode acessar origens armazenadas dessa maneira, como se elas fossem uma parte da sua solução. Se quiser descobrir o que uma determinada classe do .NET Framework contém, o ReSharper também mostra esse conteúdo para você.
Mesmo que o servidor de origem não esteja disponível, não se preocupe: o ReSharper pode reconstruir a estrutura do código da biblioteca a partir de metadados.
Veja como isso funciona quando um servidor de origem está disponível:
O recurso "Find Usages" localiza usos de qualquer símbolo (tipo, método, campo etc.) no seu código. Basta posicionar o sinal de intercalação no símbolo para o qual você deseja encontrar usos e pressione Shift+F12. Se você possui um projeto com uma combinação de linguagens, os usos podem ser encontrados em várias linguagens com o ReSharper.
Os resultados da pesquisa são exibidos na janela Find Results e organizados em uma hierarquia. Nessa janela, você pode navegar diretamente até qualquer uso com o teclado ou o mouse. A funcionalidade adicional do recurso "Find Results" fornece várias maneiras de trabalhar com resultados de pesquisa, incluindo:
Você pode navegar entre os usos quando a janela "Find Results" está aberta pressionando Ctrl+Alt+PageUp/PageDown (mesmo do editor).
Para especificar o escopo de pesquisa e o tipo de uso a serem encontrados, use o recurso "Find Usages Advanced", disponível pressionando Ctrl+Shift+Alt+F12.
Dependendo do contexto, você poderá especificar exatamente o escopo da pesquisa na sua solução, se é ou não necessário procurar em bibliotecas referenciadas, se é ou não necessário procurar ocorrências textuais, propriedades de implementação ou até mesmo mesmo referências dinâmicas ao símbolo que você está observando.
A janela File Structure está disponível para todas as linguagens e todos os tipos de arquivos com suporte. Em arquivos C# ou VB.NET, você pode ver quais métodos, campos, classes e regiões eles contêm, além de navegar diretamente até as suas declarações — basta pressionar Ctrl+Alt+F.
No ASP.NET, "File Structure" permite examinar tags, scriptlets, controles e outros elementos estruturais de um arquivo aberto no momento e navegar diretamente até suas declarações. Consulte Ferramentas ASP.NET e ASP.NET MVC para obter detalhes sobre como este e outros recursos de navegação ajudam os desenvolvedores Web.
Em scripts de compilação, "File Structure" permite que você veja quais propriedades e destinos o script atual contém.
A janela também permite reorganizar itens dentro do arquivo com um simples movimento de arrastar e soltar, além de chamar ações de navegação e refatorações e criar e excluir regiões.
A janela File Structure é totalmente sincronizado com o editor. Todas as alterações feitas em um arquivo são refletidas imediatamente em "File Structure", e vice-versa.
O ReSharper permite o uso das teclas Tab and Shift+Tab para saltar entre partes lógicas do seu código, semelhante a como você costuma navegar no seu navegador da Web.
Por exemplo, ao editar uma instrução for
, Tab seleciona a instrução inicializadora, a condição de término e depois a instrução iteradora. Shift+Tab faz essas seleções na ordem inversa.
Quando o cursor estiver antes do primeiro caractere diferente do espaço em branco em uma linha, você ainda pode usar Tab para recuo.
Com o Visualizador IL (Intermediate Language), você pode detalhar o código de bibliotecas de terceiros e exibir a IL que corresponde ao seu próprio código-fonte (você teria que compilar primeiro).
Para conferir como o Visualizador IL funciona, escolha ReSharper | Windows | IL Viewer no menu.
Ao receber um rastreamento de pilha externa (por exemplo, de um relatório de bugs), você pode copiá-lo e colá-lo no diretório Stack Trace Explorer para navegar até onde uma exceção foi originada. As linhas no rastreamento de pilha serão representadas como hiperlinks. Para abrir o Stack Trace Explorer, copie os rastreamentos de pilha para a área de transferência e pressione Ctrl+E, T.
O comando "Go to File" leva você até qualquer arquivo na sua solução. O atalho para esse comando é Ctrl+Shift+T, e ele oferece suporte a todas as técnicas de pesquisa e todos os curingas que são usados em outros comandos "Go to".
Esse comando permite que você navegue até um tipo ou método derivado, pressionando Alt+End. Os herdeiros imediatos são realçados em negrito.
Esse comando, disponível com o atalho Navigate To, mostra a lista de todos os tipos que substituem um parâmetro de tipo genérico selecionado, bem como todos os locais de código em que cada substituição é usada.
Pressione Ctrl+Shift+F11 para navegar até a declaração de um tipo ao qual uma variável, um campo ou um parâmetro pertence. O ReSharper alternará para a declaração no código-fonte ou, para tipos de biblioteca, exibirá o símbolo correspondente no Object Browser ou mostrará o código descompilado.
Você acessar rapidamente o próximo membro dem arquivos de código C# ou VB.NET, ou a próxima tag em arquivos XML ou XAML, pressionando Alt+Para cima.
Semelhante Go to Next Member, esse comando leva você até o membro ou a tag anterior — tudo o que você precisa fazer é pressionar Alt+Para baixo.
Você pode navegar rapidamente até símbolos com poucos usos (por exemplo, com um campo privado) pressionando Shift+Alt+F12. Em vez de abrir uma janela de ferramentas inteira, ele exibirá os usos em um pop-up.
No entanto, se o pop-up com a lista de usos de símbolos contiver muitos itens, basta clicar no ícone de lupa no canto superior direito do pop-up para transferir a lista de usos à janela "Find Results".
Para realçar todos os usos de um símbolo dentro do arquivo atual, basta posicionar o sinal de intercalação em qualquer uso do símbolo e pressionar Shift+Alt+F11. Você também pode realçar usos de diretivas de importação de namespaces e até mesmo de expressões. Em arquivos grandes, é possível usar a barra de marcadores à direita para navegar entre os usos destacados.
O ReSharper localiza e realça rapidamente os usos de símbolos dentro da marcação XAML, bem como entre linguagens.
Esse recurso permite que você crie padrões para procurar suspeitas de código ou código herdado que o ReSharper não detecta imediatamente e substituí-los com código em estado íntegro. Mais do que isso, para facilitar a remoção de um código questionável de forma recorrente, você pode criar inspeções de código personalizadas e configurar o ReSharper para fornecer correções rápidas para elas.
Construir padrões e aplicar boas práticas nunca foi tão fácil. Políticas corporativas e de equipe, estruturas personalizadas, bibliotecas e ferramentas open source, bibliotecas e ferramentas open source favoritas — os padrões estruturados são capazes de abranger isso tudo. Como bônus, você pode importar e exportar os melhores padrões para compartilhá-los com colegas ou movê-los entre instalações do ReSharper.
Com o ReSharper, você pode visualizar a hierarquia de herança de um determinado tipo em uma janela dedicada. A janela mostra os tipos base e os herdeiros do tipo selecionado e permite que você navegue até qualquer um deles com um único clique. Para qualquer nó na hierarquia, você pode exibir todos os membros ou apenas os membros polimórficos em um painel de visualização separado.
Para abrir a janela "Type Hierarchy" de um tipo, posicione o sinal de intercalação no nome do tipo e pressione Ctrl+Alt+H ou selecione ReSharper | View | Type Hierarchy.
Este é um recurso simples, mas poderoso: você pode soltar um marcador numerado com um único atalho e saltar para trás a qualquer momento com outro atalho. É possível criar até 10 marcadores numerados e uma quantidade ilimitada de marcadores não numerados. A lista completa de locais marcados é exibida em uma única janela pop-up para acelerar a navegação entre pontos de código.
Pressionar Ctrl+, abre uma janela pop-up com a lista de arquivos recém-abertos, na qual você pode selecionar qualquer item para navegar.
O recurso "Recent Edits" funciona de maneira semelhante a "Recent Files", mostrando uma janela pop-up com a lista de arquivos e os símbolos que você modificou recentemente. Se a sua sessão de edição atual já começou há um tempo, reduza a lista digitando o nome de um arquivo que você deseja abrir novamente.
Como alternativa, use Go to Last Edit Location Ctrl+Shift+Backspace para posicionar rapidamente o sinal de intercalação na localização mais recente em que você alterou seu código, sem exibir um pop-up. Os pressionamentos subsequentes desse atalho levarão você mais a fundo no seu histórico de edição.
O To-do Explorer ajuda a manter o controle de todos os seus itens de lembrete marcados com as tags todo
, note
e/ou bug
, bem como das localizações de código em que exceções NotImplementedException
foram lançadas. O To-do Explorer recupera todos esses itens de todos os arquivos da sua solução e os exibe em uma única janela de ferramentas.
Se você usar seus próprios marcadores para fazer anotações nos comentários do seu código, poderá configurar um padrão personalizado, e o To-do Explorer também o encontrará.
A janela Process Explorer exibe todos os processos em execução no momento, permite explorar seus módulos e descompilar aqueles que são assemblies .NET.
Você pode optar por mostrar ou ocultar processos e módulos nativos ou ativar a exibição da hierarquia de processos.
Filtre a lista para localizar um módulo ou processo que você está procurando e, em seguida, adicione seus assemblies ao Assembly Explorer para investigação adicional.
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.