2013-02-18 8 views

risposta

26

Per quanto ne so non c'è tale opzione prima di VS 2012.

in VS 2012 l'opzione "Sincronizza con Active Document" è stato introdotto. È possibile trovare la descrizione e lo schermo su this blog (scorrere fino a "Sincronizzazione con documento attivo" a metà pagina).

+1

Questo dovrebbe essere contrassegnato come la risposta corretta in quanto risponde precisamente alla domanda. –

+20

Ora stiamo usando Resharper. Ha una funzione per fare esattamente questo. Scorciatoia predefinita: Shift + Alt + L – Laoujin

+1

Grazie per il comando Resharper, stavo cercando anche quello. – bastijn

3

Per VS2010 ho trovato questa macro e funziona per me:

Imports System 
Imports EnvDTE 
Imports EnvDTE80 
Imports EnvDTE90 

Public Module Utilities 
    Public Sub TrackProjectItem() 
     Dim solution As Solution2 = DTE.Solution 
     If Not solution.IsOpen OrElse DTE.ActiveDocument Is Nothing Then Return 

     solution.FindProjectItem(DTE.ActiveDocument.FullName).ExpandView() 

     Dim FileName As String = DTE.ActiveDocument.FullName 

     Dim SolutionExplorerPath As String 
     Dim items As EnvDTE.UIHierarchyItems = DTE.ToolWindows.SolutionExplorer.UIHierarchyItems 
     Dim item As Object = FindItem(items, FileName, SolutionExplorerPath) 

     If item Is Nothing Then 
      MsgBox("Couldn't find the item in Solution Explorer.") 
      Return 
     End If 

     DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate() 
     DTE.ActiveWindow.Object.GetItem(SolutionExplorerPath).Select(vsUISelectionType.vsUISelectionTypeSelect) 
    End Sub 

    Public Function FindItem(ByVal Children As UIHierarchyItems, ByVal FileName As String, ByRef SolutionExplorerPath As String) As Object 
     For Each CurrentItem As UIHierarchyItem In Children 
      Dim TypeName As String = Microsoft.VisualBasic.Information.TypeName(CurrentItem.Object) 
      If TypeName = "ProjectItem" Then 
       Dim projectitem As EnvDTE.ProjectItem = CType(CurrentItem.Object, EnvDTE.ProjectItem) 
       Dim i As Integer = 1 
       While i <= projectitem.FileCount 
        If projectitem.FileNames(i) = FileName Then 
         SolutionExplorerPath = CurrentItem.Name 
         Return CurrentItem 
        End If 
        i = i + 1 
       End While 
      End If 

      Dim ChildItem As UIHierarchyItem = FindItem(CurrentItem.UIHierarchyItems, FileName, SolutionExplorerPath) 
      If Not ChildItem Is Nothing Then 
       SolutionExplorerPath = CurrentItem.Name + "\" + SolutionExplorerPath 
       Return ChildItem 
      End If 
     Next 
    End Function 
End Module 

Fonte Originale here

3

In Visual Studio 2010/2012 è possibile utilizzare questa estensione (link). Aggiunge l'opzione per sincronizzare la barra degli strumenti di Solution Explorer e il menu di scelta rapida del codice.

+0

il "link" apre questa stessa pagina XD – Mate

+0

scusate, risolto ora. – user503386

+0

Mostra una nuova voce di menu "Trova in Esplora soluzioni" nel menu di scelta rapida facendo clic con il tasto destro sulla scheda del documento. questo menu è posizionato tra le voci di menu "Copia percorso completo" e "Apri contenuto cartella". –

70

In VS 2013 c'è un built-in tasto di scelta rapida (CTRL + \, S)

  1. Premere CTRL + backslash
  2. rilasciare entrambi i tasti
  3. Premere il tasto S

Oppure fare clic sul pulsante evidenziato nell'immagine seguente.

Sync with active document

Si ha anche la possibilità di customize the keyboard shortcut se non ti piace la combinazione di default :)

+8

Questa scelta rapida da tastiera è denominata 'SolutionExplorer.SyncWithActiveDocument' (Strumenti -> Opzioni -> Ambiente -> Tastiera) – Laoujin

+20

Il collegamento predefinito è Ctrl + [, S nel mio VS. –

+0

CTRL + barra rovesciata non ha funzionato per me in realtà, vedere: http://stackoverflow.com/a/37158527/2874896 –

41

In Visual Studio 2015 e il 2017 è possibile premere Ctrl + [ e poi s.

Questo evidenzierà il file attualmente in corso di modifica in Esplora soluzioni.

+4

In Visual Studio 2015, con ReSharper, sono in grado di premere "Maiusc" + "Alt" + "L" per evidenziare il file corrente in corso di modifica in Esplora soluzioni. –

+0

In Visual Studio 2013 update 5 questa è anche la combinazione corretta. – FrankyHollywood

+0

@JeremyPaskali Grazie mille per questo. Come sto usando il resharper, questo è il modo più semplice per me di andare :). – C4u

0

sulla mia tastiera ho dovuto premere:

Ctrl +` + S

Do atto che il segno in mezzo è la chiave appena a sinistra del backspace.

Utilizzo di Visual Studio 2015.

4

per individuare il file che si sta modificando in Esplora soluzioni:

Ctrl + W + S

ho usato in precedenza Shift + Alt + L, ma per qualche motivo questo non funziona più.

Gli altri suggerimenti (Ctrl+\,S e Ctrl+[,S e Ctrl + `+ S) non funzionano per me in VS2015. Non uso il resharper e non mi piace usare i macro quando sono disponibili scorciatoie semplici.

1

In Visual Studio 2015, con ReSharper, io sono in grado di premere Maiusc +Alt +L per evidenziare il file corrente in corso di modifica in Esplora soluzioni.

+0

Sto anche usando ReSharper e questa era l'unica combinazione di tasti che funzionava per me. Forse ReSharper sovrascrive le impostazioni di default VS? –

Problemi correlati