Visual Studio: Shortcut to scroll solution explorer to current file

后端 未结 10 1266
闹比i
闹比i 2020-12-23 18:23

I\'m not asking for the option to automatically follow the current file in the solution explorer. This has been answered in this question a

相关标签:
10条回答
  • 2020-12-23 19:05

    To locate the file you're currently editing in Solution Explorer:

    Ctrl + W + S

    I previously used Shift + Alt + L, but for some reason this is no longer working.

    The other suggestions (Ctrl+\,S and Ctrl+[,S and Ctrl + ` + S) do not work for me in VS2015. I don't use resharper and dont like using macros when simple shortcuts are available.

    0 讨论(0)
  • 2020-12-23 19:06

    For VS 2017 the default configuration is:

    CTRL + [,S

    And the complete list of shortcuts you can find here:

    http://visualstudioshortcuts.com/2017/

    0 讨论(0)
  • 2020-12-23 19:12

    In Visual Studio 2015, 2017 and 2019 you can press Ctrl + [ and then s.

    This will highlight the file currently being edited in Solution Explorer.

    This can be configured via the following keyboard command: SolutionExplorer.SyncWithActiveDocument

    To reconfigure, navigate to Tools -> Options -> Environment -> Keyboard

    0 讨论(0)
  • 2020-12-23 19:14

    As far as I know there is no such option before VS 2012.

    In VS 2012 the "Sync with Active Document" option was introduced. You can find description and screen on this blog (scroll to "Sync with Active Document" in the middle of page).

    0 讨论(0)
  • 2020-12-23 19:15

    For VS2010 I found this macro and works for 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
    

    Original Source here

    0 讨论(0)
  • 2020-12-23 19:20

    In VS 2013 there is a built-in keyboard shortcut (CTRL+\, S)

    1. Press CTRL+backslash
    2. Release both keys
    3. Press the S key

    Or click the button highlighted in the image bellow.

    Sync with active document

    One also has the option to customize the keyboard shortcut if you don't like the default combination :)

    0 讨论(0)
提交回复
热议问题