¿Cómo ubicar un archivo en el Explorador de soluciones en Visual Studio 2010?

172

Tengo una gran solución con múltiples proyectos. En algún momento necesito navegar a un archivo en el Explorador de soluciones . Con la función ' Navegar hacia ' de VS 2010, ¿puedo abrir cualquier archivo por su nombre en Visual Studio 2010 pero también quiero poder seleccionar el archivo en el Explorador de soluciones ?

Amitabh
fuente
44
La pregunta era sobre VS2010, pero en caso de que alguien esté mirando VS2013: consulte Ctrl-; para encontrar en el Explorador de soluciones o Ctrl-, para la función "Navegar hacia" VS2012 / 13.
Juan
1
Para una forma nativa para VS 2012 y superior, consulte la respuesta de Aaron Carlson a continuación.
Derek Morrison

Respuestas:

198

Hay una opción para rastrear el elemento activo (abierto y visto) en el explorador de soluciones. Si el archivo está a la vista, se seleccionará el archivo en el explorador de soluciones.

Herramientas-> Opciones-> Proyectos y soluciones-> Rastrear elemento activo en el Explorador de soluciones

Jeff Mercado
fuente
33
Esta configuración hace que los nodos de proyecto y solución se expandan constantemente a medida que abro archivos. Después de 15 minutos de trabajo en un proyecto más grande, tengo tantos nodos expandidos que el explorador de soluciones se vuelve invaluable. La solución DPack es IMO mejor.
Karel Kral
@ karel-kral, agregué una respuesta que usa una macro para alternar esta configuración que funciona alrededor de este problema de nodo expandido.
Martin Hollingsworth
las soluciones de resharper o dpack enumeradas aquí resuelven el problema que Martin menciona y hacen que esta respuesta no sea la opción preferida si tiene alguna de las otras disponibles para usted.
Rob Sedgwick
2
Para VS2012 + @ la respuesta de Aaron es la mejor. No instalar cosas Ctrl + [, s
BritishDeveloper
3
Dijo que solo quería rastrear el archivo "A veces", no todo el tiempo. La respuesta de Aaron Carlson debe marcarse como la respuesta correcta.
RayLoveless
150

VS2012 agregó un nuevo comando llamado SolutionExplorer.SyncWithActiveDocument. El acceso directo predeterminado para c # es Ctrl+ [,S

Este comando navegará al archivo activo en el Explorador de soluciones.

Además, parece que necesita tener la opción "Rastrear elemento activo en el Explorador de soluciones" desactivada.

Aaron Carlson
fuente
44
Supervisión masiva de que esto no entró en Visual Studio 6.0. O incluso antes. WTF
Almo
3
¡Gracias! En mi VS2013 , Ctrl+ [, Sestaba configurado por defecto para retirar el archivo y SolutionExplorer.SyncWithActiveDocumentno estaba configurado.
hwcverwe
1
@krypru, he estado usando VS2015 por un tiempo y todavía funciona para mí. ¿Quizás no está asignado al mismo atajo en su entorno?
Aaron Carlson
2
Para su información, no es necesario recordar la tecla de acceso directo: el Explorador de soluciones (estoy en VS 2015) tiene un icono en la parte superior (flechas dobles) que hace "Sincronizar con el documento activo".
ToolmakerSteve
2
VS 2017 agregó una asignación de teclado "ReSharper" en Herramientas -> Opciones -> Medio ambiente -> Teclado. Esto asigna la funcionalidad VS incorporada al acceso directo equivalente de ReSharper. Una vez que establezca esto, puede usar el acceso directo Shift+ Alt+ L.
Andacious
121

Shift+ Alt+ LSe encuentra el archivo actual en el Explorador de soluciones en Visual Studio 2008+ con ReSharper instalado.

Rob Willis
fuente
44
cuando realiza un seguimiento no necesita este acceso directo.
Davut Gürbüz
55
Es un comando Reshaper. Funciona para mí con Visual Studio 2010 con ReSharper instalado.
Radim Cernej
+1; @ DavutGürbüz A veces necesita esto para iniciar Visual Studio 2012 para iniciar el seguimiento automático nuevamente. De vez en cuando (a pesar de que la casilla de verificación "... Track Active ..." está marcada, Visual Studio 2012 detiene el seguimiento. Este acceso directo de ReSharper lo volverá a habilitar sin tener que reiniciar Visual Studio.
Jeroen Wiert Pluimers
@JeroenWiertPluimers Ya veo. He estado usando la extensión DPack. Es muy sencillo y fácil de usar. Simplemente haga clic derecho en la pestaña del archivo y elija Localizar en el Explorador de soluciones. Lo recomiendo mucho Funciona todas las versiones de VS. ReSharper también es bueno pero no preferimos. Porque no usamos la mayoría de sus características. Hace que VS sea más pesado. El seguimiento hace que el explorador de soluciones sea desordenado. DPack es el mejor. stackoverflow.com/a/4747759/413032
Davut Gürbüz
3
El seguimiento no tiene que estar habilitado para que Shift + Alt + L funcione. Al menos no en VS 2010, que estoy usando.
Tor Haugen
36

La opción de seguimiento me pareció un poco molesta.

Prefiero usar DPack . Contiene la operación "Localizar en el Explorador de soluciones", además de muchas otras características (algunas son menos potentes en VS2010, como sus navegadores), y es gratis .

Tenga en cuenta que ReSharper también tiene la función de localización que funciona mejor que la de DPack (en algunos casos, la localización de DPack no funcionará si el archivo está colapsado detrás de las carpetas), pero no desea comprar ReSharper solo para esta característica .

HuBeZa
fuente
La solución más sencilla ("Track Active Item" es irritante y ReSharper no es gratis).
Ian Kemp
@IanKemp, es cuestión de gustos. En mi opinión, el seguimiento es molesto porque: 1. a veces me gusta que el árbol sln permanezca enfocado en un nodo en particular. 2. después de un tiempo, el árbol sln se expande completamente.
HuBeZa
28

Brian Schmitt tiene un excelente Ubicar archivo en el Explorador de soluciones: publicación de Visual Studio Macro para esto. La macro es extremadamente simple y rápida. Básicamente alterna la configuración

Tools->Options->Projects and Solutions->Track Active Item in Solution Explorer

para que el archivo actual termine seleccionado en el Explorador de soluciones pero, como no se deja encendido, no se irrita por la expansión de los nodos del Explorador de soluciones para todos los archivos a los que accede.

Public Sub LocateFileInSolutionExplorer()
    DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
    DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
    DTE.ExecuteCommand("View.SolutionExplorer")
End Sub

Enlace un atajo de teclado a esta macro personalizada para crear de manera efectiva lo que debería ser una función integrada de Visual Studio.

Martin Hollingsworth
fuente
Esto realmente funciona en VS 2010 y es más fácil de configurar de lo que piensas (consejos para agregar macro: helixoft.com/blog/archives/6 ).
user1068352
El enlace publicado en la primera línea de respuesta está roto. Puedes arreglarlo, por favor ?
Tyagi Akhilesh
@TyagiAkhilesh: tenga en cuenta que esta respuesta (agregar su propia macro) solo es necesaria si todavía está usando VS 2010. Las versiones más recientes tienen un comando incorporado.
ToolmakerSteve
16

Si tiene ReSharper y desea agregar "Localizar en el Explorador de soluciones" al menú contextual de la pestaña:

  1. Vaya a Herramientas -> Personalizar -> Comandos -> Menú contextual
  2. Seleccione "Otros menús contextuales | Ventana de documento MDI fácil".
  3. Haga clic en "Agregar comando".
  4. Elija "Resharper" -> "ReSharper_LocateInSolutionOrAssemblyExplorer" (en VS2019, el nombre de la categoría se cambió a "Extensiones")
  5. "Aceptar" -> "Cerrar"

Ahora, cuando haga clic derecho en cualquier pestaña, verá una nueva opción: Localizar en el Explorador de soluciones.

ACTUALIZAR:

Siguiendo el comentario de @ jeremy-paskali, puedes configurar un atajo de teclado para este comando:

  1. Vaya a Herramientas -> Personalizar -> "Teclado ..."
  2. Busque "ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer" en el campo "Mostrar comandos que contienen" y selecciónelo.
  3. Revise los accesos directos actualmente asignados en el menú desplegable a continuación.
  4. Realice cualquier cambio, si es necesario.
  5. "Aceptar" -> "Cerrar"
Shay
fuente
3
En Visual Studio 2015, si luego hace clic en el botón "Teclado ..." en la parte inferior de la ventana "Personalizar", accederá al cuadro de diálogo Opciones -> Entorno -> Teclado. En este cuadro de diálogo, puede navegar hasta "ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer" y buscar o cambiar el método abreviado de teclado para este comando. ¡Descubrí que mi VS2015 estaba configurado en "Shift + Alt + L" y funciona!
Jeremy Paskali
Sonando más de dos años después para decir que el truco del menú contextual todavía funciona con VS 2017 y R # 2018.2. ¡Gracias por esto!
Michael Armes
Si probar Shift+Alt+Lno funcionó para usted en VS2019, entonces esto seguramente hace el trabajo.
gosr
11

Sé que es demasiado tarde, pero espero que ayude a alguien más. La mejor opción ahora es instalar Microsoft Visual Studio add on llamado - Productivity Power Tools.

http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef

Con esto viene el "Navegador de soluciones" (alternativa al Explorador de soluciones, con muchos beneficios), que luego puede usar para filtrar los archivos para mostrar solo "Abrir". Incluso puede filtrar archivos para mostrar "Editado" y "Sin guardar".

amigo
fuente
Estoy usando VS 2012 y las herramientas eléctricas. No veo un navegador de soluciones en ningún lado. ¿Te gustaría dar más detalles sobre el tema? Como decir dónde se encuentra exactamente el navegador de soluciones.
marca
Editado Microsoft planeó hacerlo, pero terminó migrando solo partes de él. Me decepcionó que dejaran de lado a este también.
amigo
10

Visual Studio 2012 tiene un nuevo acceso directo Ctrl [, S. Sí, debe escribir Ctrl [y luego soltar y luego escribir inmediatamente S(o haga clic en el pequeño icono de sincronización en la parte superior de Solution Explored). Se sincronizará con el artículo.

Por supuesto, puedes cambiar el acceso directo. Creo que lo intentaréAlt+L localizarlo.

Si desea cambiar el acceso directo, el nombre del comando debajo de Options\Environment\KeyboardesSolutionExplorer.SyncWithActiveDocument .

Por lo general, esto es más útil que siempre el seguimiento, que en versiones anteriores siempre fue un desastre porque rastrearía 100 elementos seguidos y luego saltaría por todo el lugar ...

Simon_Weaver
fuente
Excelente !!! En mi VS2012 las teclas de combinación son Ctrl+', s. Entonces debes cambiar [con cita '. Espero que esto ayude a alguien.
ferpega
3
"o haga clic en el pequeño icono de sincronización en la parte superior de Exploración de soluciones" Para mí, la forma más fácil de lograr esto en las versiones más recientes de VS. ¡Buena esa!
Andreas
Gracias @mrt! Lo ignoré totalmente en esta respuesta; ¡pero me salvó de tener que hacer algunos pasos de personalización extraños (o recordar un atajo oscuro) ...! Ese botón debería llamarse más explícitamente en esta respuesta :)
arichards
5

En el caso de que solo desee rastrear el archivo actual a través de un método abreviado de teclado, la actividad es "View.TrackActivityinSolutionExplorer" (asigne teclas aquí -> Herramientas - Opciones - Entorno - Teclado)

Crédito (comentario de James)

Esto funciono para mi

pingo
fuente
Tenga en cuenta que esto alterna la opción "Rastrear elemento activo en el Explorador de soluciones". Si no desea conservar esa opción (porque es molesto), debe escribir las teclas de acceso directo asignadas dos veces: una para activarla (encuentra el elemento seleccionado) y luego nuevamente para desactivarla.
Richard
0

Si desea seleccionar el archivo en el explorador de soluciones en el comando y no desea instalar nada, le recomendaría esta macro .

Lo probé, configurando el acceso directo a Alt + T, y puedo confirmar que funciona con VS 2010.

Gracias a Dan Vanderboom por escribirlo.

Robert Whitley
fuente
0

En Visual Studio 2010, puede activar la opción "Rastrear elemento activo en el Explorador de soluciones". Esto significará que cada vez que cambie de documento, el nuevo documento se selecciona en el Explorador de soluciones. Esto puede ser irritante si su solución tiene muchas carpetas, porque a medida que mueve los archivos en su solución, todas las carpetas quedarán abiertas.

Visual Studio 2012 presentó la nueva función "Sincronizar con documento activo". Tres es un botón en la parte superior del Explorador de soluciones, o puede usar el acceso directo Ctrl + [, S.

captura de pantalla de sincronización con botón de documento activo

thelem
fuente
¿No ha sido esto cubierto adecuadamente por las respuestas existentes de hace años?
ToolmakerSteve
0

Para Visual Studio 2017 con un teclado francés AZERTY, el comando es el mismo que Aaron Carlson, pero el método abreviado de teclado es diferente.

El atajo de teclado AZERTY para navegar al archivo activo para c # es Ctrl+ ),Ctrl +S

Verifiqué que el acceso directo no había cambiado para los usuarios QWERTY en VS2017 en esta página http://visualstudioshortcuts.com/2017/

PhilG
fuente