2013-02-18 11 views

Odpowiedz

26

O ile wiem, nie ma takiej opcji przed VS 2012.

w VS 2012 opcja „Synchronizuj z aktywnym dokumencie” został wprowadzony. Możesz znaleźć opis i ekran na this blog (przewiń do "Synchronizuj z aktywnym dokumentem" na środku strony).

+1

To powinno być oznaczone jako poprawna odpowiedź, ponieważ precyzyjnie odpowiada na pytanie. –

+20

Używamy teraz Resharpera. Ma funkcję, która właśnie to robi. Domyślny skrót: Shift + Alt + L – Laoujin

+1

Dziękuję za polecenie Resharper, również tego szukałem. – bastijn

3

Dla VS2010 znalazłem to makro i pracuje dla mnie:

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 

oryginalne źródło here

3

W Visual Studio 2010/2012 można użyć tego rozszerzenia (link). Dodaje opcję synchronizacji na pasku narzędzi Eksploratora rozwiązań i menu kontekstowym kodu.

+0

"link" otwórz tę samą stronę XD – Mate

+0

Przepraszam, naprawiłem to teraz. – user503386

+0

Wyświetla nowy element menu "Znajdź w eksploratorze rozwiązań" w menu kontekstowym po kliknięciu prawym przyciskiem myszy na karcie dokumentu. to menu jest umieszczone między pozycjami menu "Copy Full Path" i "Open Containing Folder". –

70

w VS 2013 jest tam wbudowane skrótu klawiszowego (Ctrl + \, S)

  1. Naciśnij CTRL + backslash
  2. zwolnij oba przyciski
  3. Naciśnij S klucz

Lub kliknij przycisk wyróżniony w obrazie poniżej.

Sync with active document

Jeden ma również możliwość customize the keyboard shortcut jeśli nie podoba mi się połączenie domyślne :)

+8

Ten skrót klawiaturowy nazywa się 'SolutionExplorer.SyncWithActiveDocument' (Narzędzia -> Opcje -> Środowisko -> Klawiatura) – Laoujin

+20

Domyślnym skrótem jest Ctrl + [, S w moim VS. –

+0

CTRL + odwrotny ukośnik w rzeczywistości nie działał dla mnie, zobacz: http://stackoverflow.com/a/37158527/2874896 –

41

w Visual Studio 2015 i 2017 można nacisnąć Ctrl + [ a następnie s.

Podświetli plik aktualnie edytowany w Eksploratorze rozwiązań.

+4

W Visual Studio 2015, z ReSharper, jestem w stanie nacisnąć "Shift" + "Alt" + "L", aby podświetlić bieżący plik edytowany w Solution Explorer. –

+0

W aktualizacji 5 programu Visual Studio 2013 jest to również poprawna kombinacja. – FrankyHollywood

+0

@JeremyPaskali Dziękuję bardzo za to. Ponieważ używam resharpera, to jest dla mnie łatwiejszy sposób na zrobienie :). – C4u

0

Na mojej klawiaturze musiałem nacisnąć przycisk:

Ctrl + ` + S

Należy pamiętać, że znak w środku jest kluczem tylko z lewej strony Backspace.

Korzystanie z programu Visual Studio 2015.

4

Aby zlokalizować plik aktualnie edycji w oknie Solution Explorer:

Ctrl + W + S

ja poprzednio używany Shift + Alt + L, ale z jakiegoś powodu to nie działa.

inne sugestie (Ctrl+\,S i Ctrl+[,S i Ctrl + `+ S) nie działają na mnie w VS2015. Nie używam resharpera i nie lubię używać makr, gdy dostępne są proste skróty.

1

W Visual Studio 2015, z ReSharper, jestem w stanie wcisnąć SHIFT + Alt + L aby podświetlić plik aktualnie edytowany w oknie Solution Explorer.

+0

Używam również ReSharper i była to jedyna kombinacja klawiatury, która zadziałała dla mnie. Może ReSharper zastępuje domyślne ustawienia VS? –

Powiązane problemy