2008-08-27 7 views
43

En Visual Studio 2005, cada vez que veía un archivo en el editor principal, Solution Explorer encontraría y resaltaría ese archivo. Hace algún tiempo, esto dejó de funcionar y el Explorador de soluciones no haría nada.Obligar a Solution Explorer a seleccionar el archivo en el editor en visual studio 2005

Esto se ha convertido en un verdadero dolor ya que seguir una cadena de "Ir a Definición" s puede guiarlo por toda la solución. ¿Dónde está la configuración para volver a encender esto?

+0

Esto comenzó a sucederme y no sabía cómo solucionarlo. Gracias por la pregunta. –

Respuesta

63

haga clic en el Herramientas → Menú de opciones. Seleccione la página Proyectos y soluciones → Opciones generales.

Asegúrate de que esté marcado "Seguir elemento activo en el Explorador de soluciones". Deberias hacer eso.

+1

Gran respuesta. ¡Me ayudó mucho! –

+0

Existe un error conocido (que nunca se solucionará) que causa que la característica no funcione cuando el proyecto se encuentra en la denominada carpeta de soluciones: http://connect.microsoft.com/VisualStudio/feedback/details/605900/track -active-item-not-working-for-files-or-codes-inside-solution-folder # – hfrmobile

13
  1. Vaya a Herramientas -> Opciones
  2. "Proyectos y Soluciones"
  3. Seleccione en la vista de árbol de la izquierda
  4. Seleccione "track activo de artículos en el Explorador de soluciones"
3

Herramientas-> Opciones-> Proyectos y Soluciones> General

Marque la casilla "Track artículo activo en el Explorador de soluciones"

34

me gusta mantener esta opción desactivada (especialmente cuando se trabaja con un gran proyecto), pero es útil poder encontrar el archivo en el árbol de vez en cuando. Encontré una manera de hacer esto here.

espero que no estoy siendo demasiado detallado aquí, pero aquí está la guía para hacer este trabajo que escribí para wiki de mi trabajo:

  1. vaya a Herramientas-> Macros-> Explorador de macros.
  2. En el árbol de Macro Explorer que aparece, haga clic con el botón derecho en MyMacros y luego en Nuevo módulo ....
  3. Llame al nuevo módulo SyncItem (si lo desea).
  4. Haga clic con el botón derecho en el nuevo módulo y luego en Editar.
  5. Pega esto en la ventana de código. (No sé ni me importa si las líneas son necesarias las importaciones, sino que están ahí por defecto.)

código:

Imports System 
Imports EnvDTE 
Imports EnvDTE80 
Imports EnvDTE90 
Imports System.Diagnostics 

Public Module SyncItem 

    Sub SyncSolutionExplorer() 
     DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer") 
     DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer") 
    End Sub 

End Module 

La macro es más útil si se unen a una golpe de teclado Aquí se explica cómo hacerlo:

  1. Vaya a Herramientas-> Opciones, luego seleccione Entorno-> Teclado.
  2. Encuentra la nueva macro en la lista (comienza a escribir "syncitem" o similar en el cuadro de búsqueda).
  3. elijo Alt - Shift - T (que este cuadro de diálogo le gusta llamar Shift - Alt - T) para, um, "árbol", supongo?Si eres fanático de Edit.LineTranspose, sea lo que sea (creo que cambia la línea actual por la siguiente), entonces quizás prefieras elegir un atajo diferente.
+1

Lo bueno de este enfoque es que funciona incluso si el proyecto que contiene el elemento activo está dentro de una carpeta de solución cerrada. Es por eso que el comando debe ejecutarse dos veces. No lo consigue con el 'elemento activo de seguimiento' incorporado, que solo funciona si el proyecto que lo contiene ya está abierto. – piers7

+2

Bueno, sospecho que el ítem activo de seguimiento de matar regularmente VS con mi solución de 53 proyectos. – Benjol

+1

Creé un recorrido con fotos. http://www.bitnative.com/2012/05/01/locate-current-file-in-solution-explorer/ –

16

Acabo de descubrir que ReSharper puede hacer lo que sugiere Owen. He inhabilitado el "Seguimiento del elemento activo en el Explorador de soluciones", y cuando estoy trabajando en un archivo fuente, presiono Shift + Alt + L y el archivo se selecciona en el Explorador de soluciones. No he cambiado el enlace, así que supongo que es el predeterminado. Lo bueno de esto es que no tiene que crear una macro y luego vincularla a una pulsación de tecla (aunque no es muy difícil, todavía tiene que hacerse). El inconveniente es que ReSharper no es gratuito, por lo que probablemente no sea una solución para todos.

+0

Alt + Shift + L no es un enlace predeterminado en VS2010 + ReSharper 5, pero se puede agregar fácilmente. Gracias. – Borek

+0

Alt + Shift + L estaba vinculado a mí de forma predeterminada, pero utilizo los accesos directos R # no VS al instalar R #. – ScottS

+0

¿Alguien con R # puede verificar que esto funcione? Sospecho que lo que OP y @ScottS hicieron fue deshabilitar el "seguimiento del elemento activo" y luego el siguiente uso de Shift + Alt + L volvió a habilitar el seguimiento activo, que luego resaltará el archivo actual en el explorador de soluciones. Si tiene R # y esto funciona, ¿puede verificar los enlaces de su teclado y publicar de nuevo con el nombre de comando asociado con su atajo de teclado? –

2

Herramientas -> Opciones -> Medio Ambiente -> Teclado

Asignar el comando

View.TrackActivityinSolutionExplorer

(utilizo Alt + L)

continuación, utilizar siempre pulsar Alt + L seguido de Alt + L

que enciende la función y ubica el archivo en el árbol de fuentes y luego lo apaga de nuevo para detener el locat Ion rebotando cuando no quieres.

Cuestiones relacionadas