Navegación y búsqueda

Con las funcionalidades de navegación de ReSharper, es fácil recorrer toda su solución. Salte a cualquier archivo, tipo o miembro en su base de código, o navegue desde un símbolo específico a sus usos, símbolos base y derivados o implementaciones.

Navegación contextual en ReSharper

Navigate To (Navegar a) es un acceso directo único para todo tipo de navegación contextual. Navigate To enumera todos los destinos disponibles en la posición actual del signo de intercalación. Presione Alt+` para obtener enlaces de navegación rápida a la declaración, declaración de tipo, clase base, heredero(s) o uso del símbolo bajo el signo de intercalación, implementación de interfaz para una interfaz, aslidas de función para una función y más.

Go to File Member

Go to File Member

Para navegar rápidamente hacia un método o campo particular del archivo actual, use el comando "Go to File Member" (Ir a miembro de archivo) disponible presionando Alt+\. Igual que con Go to Type, comience a escribir el nombre del símbolo y luego seleccione de la lista de miembros que coinciden. Esta funcionalidad acepta miembros de archivos de todos los lenguajes soportados.

Go to Everything/Type

El comando "Go to Everything/Type" (Ir a Todo/Tipo), al que se accede con Ctrl+T, combina dos funcionalidades distintas:

Go to Everything, que aparece primero, oferce una navegación rápida a todos los destinos posibles (tipos, símbolos o archivos). La lista de sugerencias aparece nada más invocar el comando e incluye inicialmente archivos y ubicaciones a las que ha navegado recientemente. A medida que escribe, la lista se actualiza según lo que introduzca. Puede usar comandos especiales inline que comienzan con / para utilizar filtros avanzados sobre los resultados de la búsqueda.

Go to Type, que aparece cuando presiona nuevamente el acceso directo, le permite navegar a cualquier tipo dentro de su solución.

Estas y otras funcionalidades "Go to" también admiten comodines: * (asterisco) representa cero o más caracteres; las comillas dobles alrededor de la cadena de búsqueda ejecutarán una búsqueda de coincidencia exacta; ? (signo de interrogación) en una búsqueda de coincidencia exacta representa un carácter único una vez;

Go to Text for textual search

Go to Text for textual search

Esta acción de navegación (Ir a Texto para búsqueda textual), disponible con Ctrl+T,T,T, le permite encontrar y navegar rápidamente a cualquier texto en los archivos de fuente y textuales incluidos en su solución. De forma similar a otros comandos de navegación, si hay demasiados elementos coincidentes, puede presionar + sobre el teclado numérico para explorar los resultados en la ventana Find Results. También puede usar comandos especiales inline para acotar los resultados de búsqueda: /cp para buscar en el proyecto actual, /ext: para buscar en archivos con una extensión específica o /fm: para una máscara de archivo específica.

Go to Implementation vs Go to Derived Symbols

Go to Implementation

Esta función de navegación (Ir a implementación), accesible mediante el acceso directo Ctrl+F12, le permite saltar desde un tipo o miembro base a cualquiera de sus implementaciones, obviando los pasos intermedios en la cadena de herencia.

Funciona de forma similar a Go to Derived Symbols, pero le ahorra tiempo cuando necesita saltarse uno o más niveles de una jerarquía de tipos. Vea el GIF para entender la diferencia.

Navegación a una acción

Go to Action

ReSharper le ayuda a encontrar y aplicar rápidamente cualquiera de sus acciones, sin perder tiempo explorando su menú (con acción, nos referimos a un comando ejecutable disponible para la posición actual del signo de intercalación o un comando que abre una ventana de herramienta). Para encontrar una acción, solo presione Alt+Intro en cualquier parte del editor y comience a escribir un nombre de comando o palabras relacionadas.

Go to Exposing APIs

Go to Exposing APIs

Este comando, disponible con el acceso directo de Navigate To (Alt+`), navega desde un tipo a todas las posiciones de su solución donde puede obtener una instancia de este tipo: campos y propiedades públicas, valores de retorno de métodos, parámetros de salida, etc.

Go to Symbol

Go to Symbol

El comando Go to Symbol (Ir a símbolo) busca métodos, campos y otros miembros de archivos por nombre, en toda la solución. Puede acceder al comando presionando Mayús+Alt+T. Tenga en cuenta que todos los comandos "Go to" de ReSharper, incluido Go to Symbol, admiten CamelHumps que no diferencian mayús/minús. Es decir, para encontrar un miembro más rápido puede ingresar su primer carácter y cualquier carácter o caracteres subsiguientes que contenga su nombre (p. ej., para buscar testFixedSizeBuffer puede escribir tfixs.

Go to Base

Go to Base

Puede navegar subiendo por la jerarquía hasta llegar a un tipo o método base colocando el signo de intercalación sobre un uso o declaración de un tipo o método en el editor y presionando Alt+Inicio.
Además, también puede ver cuando un método anula, implementa u oculta otro método si mira a los iconos especiales del medianil que aparecen a la izquierda de la declaración del método. Haga clic en el icono para navegar hacia arriba por la jerarquía del método.

Navegación a una declaración de símbolo

Go to Declaration

Para navegar hasta la declaración de un símbolo, coloque el signo de intercalación en cualquier uso de un símbolo y presione F12, o mantenga presionado Ctrl y haga clic izquierdo sobre el símbolo. ReSharper saltará a la declaración del tipo, método, archivo o variable local correspondiente en el archivo de fuente correspondiente. Para símbolos de biblioteca, se mostrará la entidad correspondiente en el Object Browser (Navegador de objetos) de Visual Studio o en el editor como vista de metadatos o código descompilado, según la configuración de ReSharper.

Navegar entre usos

Navegar entre usos

También puede invocar el comando Go to Declaration (Ir a declaración) cuando su signo de intercalación ya esté en una declaración de símbolo. En caso de que tenga una declaración y un uso, puede simplemente alternar entre ellos usando un acceso directo. Si tiene múltiples usos de un símbolo, los resultados subsiguientes de Go to Declaration lo llevarán a los siguientes usos del símbolo, un uso a la vez. La navegación entre usos se realiza con la ayuda de un panel similar al de "Find Usages" que lista los usos encontrados, contiene controles adicionales para hacer clic entre usos y le ayuda a mover todos los usos encontrados a la ventana "Find Results" común si lo desea.

Go to related files

La funcionalidad de Ir a archivos relacionados, disponible presionando Ctrl+Alt+F7, le puede llevar a cualquier archivo al que se haga referencia desde el archivo actual de alguna forma. Esto es particularmente útil para sitios web y aplicaciones: por ejemplo, le permite saltar desde un formulario web a su página maestra, controles de usuario o imágenes a las que hace referencia. En aplicaciones ASP.NET MVC, esta funcionalidad simplifica la navegación desde vistas a controladores y viceversa.

Para obtener más información acerca de la navegación avanzada y otras funcionalidades que ofrece ReSharper a los desarrolladores web, consulte Herramientas ASP.NET y ASP.NET MVC.

Navegar a un archivo cercano

Go to File Nearby

Esta funcionalidad, disponible con el acceso directo de Navigate To (Alt+`), le ayuda a navegar rápidamente por la estructura del proyecto en torno al archivo actual. En el cuadro emergente que aparece, podrá ver el proyecto al que pertenece el archivo actual, así como las carpetas y archivos del mismo nivel del directorio, y podrá saltar fácilmente a estos archivos o crear un nuevo archivo o carpeta.

Seleccionar la opción de navegación "Sources from Symbol Files" para un símbolo de biblioteca

Navegación a Código de biblioteca

Cualquier solución incluye tanto su código fuente y referencias a bibliotecas. Pensamos que sería útil poder navegar hacia y dentro de estas bibliotecas tal como lo hace con el código fuente.

Algunas compañías publican partes de sus fuentes usando la funcionalidad Source Server de los archivos de información de depuración (PDB). Por otra parte, Microsoft usa esta tecnología para proporcionar acceso al código fuente del marco de trabajo .NET. Si tiene PDB disponibles y ReSharper instalado, puede acceder a las fuentes almacenadas de esa forma como si fueran parte de su solución. Si desea conocer lo que contiene cierta clase de marco de trabajo .NET, ReSharper también se lo mostrará.

Incluso si el servidor de fuentes no está disponible, no se preocupe: ReSharper puede reconstruir la estructura del código de biblioteca a partir de los metadatos.

Así es como funciona cuando está disponible un servidor de fuentes:

  1. Presione Alt+` sobre un símbolo de biblioteca para abrir Navigate To (Navegar a) con la lista de opciones de navegación.
  2. Seleccione una opción de navegación externa para un símbolo de biblioteca.
  3. ReSharper descarga los archivos PDB desde un servidor de fuentes.
  4. ReSharper muestra la declaración del símbolo de biblioteca seleccionado como lo define su solución.
Búsqueda de usos de un símbolo

Find Usages

Find Usages (buscar usos) encuentra rápidamente los usos de un símbolo (tipo, método, campo, etc.) en su código. Solo coloque el signo de intercalación sobre el símbolo para el cual desea buscar usos y presione Mayús+F12. Si tiene un proyecto de idioma mixto, ReSharper encuentra usos en múltiples idiomas.

Los resultados de la búsqueda se muestran en la ventana Find Results, y se organizan jerárquicamente. Desde esta ventana puede navegar directamente hasta cualquier uso ya sea con el teclado o con el ratón. La funcionalidad adicional de Find Results ofrece varias formas de trabajar con los resultados de búsqueda, incluidas:

  • vista previa de código fuente
  • resaltado de usos con errores o no finalizados
  • filtrado por usos de lectura o escritura, usos de invocación, usos de atributo, usos en documentación y más criterios
  • agrupación por tipo de uso y por categorías
  • pestañas de búsquedas de usos recientes y más.

Cuando la ventana Find Results está abierta, puede navegar entre usos presionando Ctrl+Alt+Re Pág/Av Pág (incluso desde el editor).

Búsqueda de usos de símbolos relacionados

Find Usages Advanced

Para especificar el ámbito de búsqueda y el tipo de usos a buscar, use la funcionalidad Find Usages Advanced (Búsqueda de usos avanzada) disponible presionando Ctrl+Mayús+Alt+F12.

Dependiendo del contexto, podrá especificar exactamente el ámbito de búsqueda en su solución, si buscar en bibliotecas de referencia o no, si buscar ocurrencias textuales, propiedades implementadas o incluso referencias dinámicas al símbolo que busca.

Vista de estructura de archivo

File Structure

La ventana File Structure (Estructura de archivo) está disponible para todos los tipos de lenguajes y archivos. En los archivos C# y VB.NET, puede ver qué métodos, campos, clases y regiones contienen, así como navegar directamente a sus declaraciones (presionando Ctrl+Alt+F).

En ASP.NET, File Structure le permite examinar etiquetas, scriptlets, controles y otros elementos estructurales de un archivo actualmente abierto, y navegar directamente a sus declaraciones. Consulte Herramientas ASP.NET y ASP.NET MVC para obtener más información sobre cómo esta y otras funcionalidades de navegación ayudan a los desarrolladores web.

En los scripts de compilación, File Structure le permite ver qué propiedades y destinos contiene el script actual.

La ventana también le permite reordenar los elementos dentro del archivo con solo arrastrar y soltar, invocar acciones de navegación y refactorizaciones, así como crear y eliminar regiones.

La ventana File Structure está totalmente sincronizada con el editor. Todos los cambios realizados a un archivo se reflejan inmediatamente en el File Structure y viceversa.

Navegación estructural con el tabulador

Navegación estructural con el tabulador

ReSharper permite usar el Tabulador y Mayús+Tabulador para saltar entre trozos lógicos de su código, de forma similar a como navega en su navegador web.

Por ejemplo, al editar una declaración for, la tecla Tab seleccionará la declaración inicializadora, luego la condición de finalización y luego la declaración iteradora. Mayús+Tab hará estas selecciones en orden inverso.

Cuando el cursor se encuentra antes del primer carácter de una línea que no sea un espacio en blanco, aún puede usar la tecla Tab para la sangría.

Más información: cómo ReSharper vuelve a sacar provecho del Tabulador

Visor de lenguaje intermedio en ReSharper

IL Viewer

Con el Visor de lenguaje intermedio (Intermediate Language Viewer), puede tanto entrar en el código de bibliotecas de terceros como mostrar el IL (lenguaje intermedio) que corresponde con su propio código fuente (tenga en cuenta que debe compilar primero).

Para ver cómo funciona IL Viewer, seleccione ReSharper | Windows | IL Viewer en el menú.

Explorador de traza de pila en ReSharper

Stack Trace Explorer

Cuando recibe una traza de pila externa (por ejemplo, desde un informe de errores), puede copiarla y pegarla en el Stack Trace Explorer (Explorador de traza de pila) para navegar a donde se originó una excepción. Las líneas dentro de la traza de pila se representarán como hipervínculos. Para abrir el Explorador de traza de pila, copie las trazas de pilas al portapapeles y presiones Ctrl+E, T.

Go to File

Go to File

Go to File (Ir a archivo) le lleva a cualquier archivo dentro de su solución. El acceso directo para este comando es Ctrl+Mayús+T, y admite todas las técnicas de búsqueda y comodines que se usan en otros comandos "Go to".

Go to Derived Symbols

Go to Derived Symbols

El comando Go to Derived Symbols (Ir a símbolos derivados) le permite navegar hacia un tipo o método derivado presionando Alt+Fin. Los herederos inmediatos se resaltan con negrita.

Go to Generic Substitutions

Go to Generic Substitutions

El comando Go to Generic Substitutions (Ir a sustituciones genéricas), accesible con el acceso directo de Navigate To, muestra la lista de todos los tipos que sustituyen a un parámetro de tipo genérico seleccionado, así como todas las ubicaciones de código en las que se usa cada sustitución.

Go to Type of Symbol

Go to Type Declaration

Presiones Ctrl+Mayús+F11 para navegar hasta la declaración de un tipo al que pertenece una variable, campo o parámetro. ReSharper pasará a la declaración en el código fuente o, para tipos de bibliotecas, mostrará el símbolo correspondiente en el Navegador de objetos o mostrará el código descompilado.

Go to Next Member/Tag

Con Go to Next Member/Tag (Ir a miembro/etiqueta siguiente) puede ir rápidamente al siguiente miembro del archivo en los archivos de código C# o VB.NET, o a la siguiente etiqueta en archivos XML o XAML presionando Alt+Arriba.

Go to Previous Member/Tag

Similar a Go to Next Member, esta funcionalidad le permite ir al miembro o etiqueta anterior. Tan solo presione Alt+Abajo.

Navegación al uso de un símbolo

Go to Usage

Con Go to Usage (Ir a uso) puede navegar rápidamente hasta símbolos con pocos usos (p. ej. con un campo privado) presionando Mayús+Alt+F12. En lugar de abrir una ventana de herramienta entera, mostrará los usos en un cuadro emergente.

Sin embargo, si resulta que el cuadro emergente con la lista de usos del símbolo contiene demasiado elementos, con solo hacer clic en el icono de lupa de la esquina superior derecha, podrá transferir la lista de usos a la ventana de Find Results.

Resaltar usos en ReSharper

Resaltar usos

Para resaltar todos los usos de un símbolo dentro del archivo actual, solo coloque el signo de intercalación en el uso de un símbolo y presione Mayús+Alt+F11. También puede resaltar los usos de directivas de importación de espacios de nombres y hasta expresiones. En los archivos grandes, puede usar la barra de marcadores de la derecha para navegar entre usos resaltados.
ReSharper busca y resalta rápidamente los usos de símbolos dentro del marcado XAML así como en distintos lenguajes.

Buscar y sustituir patrones listados en el Catálogo de patrones de ReSharper

Buscar y reemplazar estructural

Esta funcionalidad le permite crear patrones para buscar hediondeces del código o código heredado que ReSharper no detecta en su configuración predeterminada, y sustituirlos con código corregido. Y no solo eso, para que sea más fácil eliminar código cuestionable de forma recurrente, puede crear inspecciones de código personalizadas y configurar ReSharper para que brinde arreglos rápidos para ellas.

Desarrollar patrones e implementar buenas prácticas nunca fue más fácil. Políticas corporativas y de equipos, los marcos de trabajo personalizados, las bibliotecas y herramientas favoritas de código abierto: los patrones estructurados pueden encargarse de todo esto. Como beneficio adicional, puede importar y exportar los mejores patrones para compartirlos con colegas o moverlos entre instalaciones de ReSharper.

Vista de Jerarquía de tipos

Jerarquía de tipos

Con ReSharper, puede ver la jerarquía de herencia de un tipo específico en una ventana dedicada. La ventana muestra tanto herederos como tipos de base del tipo seleccionado y le permite navegar hasta cualquiera de ellos con un solo clic. Para cualquier nodo en la jerarquía, puede ver todos los miembros, o solo los polimórficos, en un panel de vista previa independiente.
Para abrir la ventana de Jerarquía de tipos para un tipo, coloque el signo de intercalación en el nombre del tipo y presione Ctrl+Alt+H, o seleccione ReSharper | View | Type Hierarchy.

Marcadores de ReSharper

Marcadores

Esta es una funcionalidad simple pero potente: puede soltar un marcador numerado con un único acceso directo y volver a saltar al mismo en cualquier momento con otro acceso directo. Puede crear hasta 10 marcadores numerados y una cantidad ilimitada de marcadores no numerados. La lista completa de posiciones marcadas se muestra en una única ventana emergente para permitir una navegación más rápida entre puntos del código.

Ver archivos recientes con ReSharper

View Recent Files

Al presionar Ctrl+, se abre una ventana emergente con la lista de archivos recientemente abiertos, desde donde podrá seleccionar cualquier elemento al que quiera navegar.

Ver posiciones de código editadas recientemente con ReSharper

View Recent Edits (y Go to Last Edit Location)

Recent Edits funciona de forma muy similar a Recent Files: le muestra una ventana emergente con la lista de archivos y símbolos que ha modificado recientemente. Si su sesión actual de edición ha comenzado hace ya un tiempo, acote la lista escribiendo el nombre del archivo que quiere volver a abrir.

De forma alternativa, usa "Go to Last Edit Location" (Ir a última posición de edición) Ctrl+Mayús+Retroceso para colocar rápidamente el signo de intercalación en la posición más reciente donde modificó su código, sin mostrar un cuadro emergente. Utilizar más veces este atajo le llevará más atrás en su historial de edición.

Explorador de Pendientes

Explorador de Pendientes

El To-do Explorer (Explorador de pendientes) le ayuda a rastrear todo sus elementos de recordatorio marcados con una nota de pendiente y/o etiquetas de error, así como posiciones del código done se lanzan NotImplementedException. El Explorador de pendiente recupera todo ese tipo de elementos desde todos los archivos de su solución y los muestra en una única ventana de herramienta.

Si usa sus propios marcadores para añadir notas en comentarios a su código, puede configurar un patrón personalizado, y el Explorador de pendientes también lo encontrará.

Explorador de procesos

Explorador de procesos

La ventana de Process Explorer (Explorador de procesos) muestra todos los procesos en ejecución actualmente, permite explorar sus módulos y decompilar aquellos que sean ensamblados .NET.

Puede elegir mostrar u ocultar procesos y módulos nativos, o activar la vista de jerarquía de proyecto.

Filtre la lista para encontrar un módulo o proceso que busca, y luego añada sus ensambles al Assembly Explorer (Explorador de ensambles) para continuar la investigación.

Nota acerca de los accesos directos

Todos los acceso directo de teclado de esta página están disponibles en el mapa de teclas Visual Studio predeterminado de ReSharper. Para más información sobre los dos mapas de teclas de ReSharper, consulte la documentación de ReSharper.