Visual Studio : 솔루션 탐색기를 현재 파일로 스크롤하는 바로 가기


82

솔루션 탐색기에서 현재 파일 을 자동으로 따르는 옵션을 요청 하는 것이 아닙니다 . 이것은 이 질문에 대한 답변을 받았으며 행동이 싫기 때문에이 옵션을 해제했습니다.

솔루션 탐색기에서 현재 편집중인 파일로 이동하는 바로 가기 (또는 매크로 또는 ....)를 갖고 싶습니다.


답변:


107

VS 2013에는 기본 제공 키보드 바로 가기 (CTRL + \, S)가 있습니다.

  1. Ctrl + 백 슬래시를 누릅니다.
  2. 두 키를 모두 놓으십시오.
  3. S 키 누르기

또는 아래 이미지에서 강조 표시된 버튼을 클릭하십시오.

활성 문서와 동기화

기본 조합이 마음에 들지 않으면 키보드 단축키사용자 지정할 수도 있습니다. :)


27
이 키보드 바로 가기가 호출됩니다 SolutionExplorer.SyncWithActiveDocument(-> 옵션 -> 환경 -> 키보드 도구)
Laoujin

27
기본 단축키는 내 VS에서 Ctrl + [, S입니다.
Roman O

CTRL + 백 슬래시가 실제로 작동하지 않았습니다. 참조 : stackoverflow.com/a/37158527/2874896
Jim Aho

Track Active Item in Solution Explorer첫 번째 를 비활성화 할 수 있으므로 동기화 솔루션 탐색기는 코드 파일을 전환 할 때 "점프"하는 대신이 바로 가기를 누를 때만 발생합니다.
phifi

대박. 큰 도움이 :)
바스 챤

71

Visual Studio 2015, 2017 및 2019에서는 Ctrl+ [를 누른 다음 s.

현재 솔루션 탐색기에서 편집중인 파일이 강조 표시됩니다.

다음 키보드 명령을 통해 구성 할 수 있습니다. SolutionExplorer.SyncWithActiveDocument

재구성하려면 도구-> 옵션-> 환경-> 키보드로 이동하십시오.


11
Visual Studio 2015에서 ReSharper를 사용하면 "Shift"+ "Alt"+ "L"을 눌러 솔루션 탐색기에서 편집중인 현재 파일을 강조 표시 할 수 있습니다.
Jeremy Paskali

Visual Studio 2013 업데이트 5에서도 이것이 올바른 조합입니다.
FrankyHollywood

@JeremyPaskali 이것에 대해 대단히 감사합니다. 나는 resharper를 사용하므로 더 쉽게 갈 수 있습니다. :).
C4d

1
@JeremyPaskali-답변으로 댓글을 추가 할 수 있습니까? 저도 ReSharper를 사용하고 있는데이 키 콤보가 저에게 효과적이었습니다.
Philip Pittle

1
바로 가기를 다른 항목으로 다시 매핑하려는 사용자를 위해 2019 년에는 명령을 "SolutionExplorer.SyncWithActiveDocument"라고합니다.
Garrison Becker

27

내가 아는 한 VS 2012 이전에는 그러한 옵션이 없습니다.

VS 2012에서는 "활성 문서와 동기화"옵션이 도입되었습니다. 이 블로그 에서 설명과 화면을 찾을 수 있습니다 (페이지 중간에있는 "활성 문서와 동기화"로 스크롤).


1
질문에 정확하게 답하므로 정답으로 표시되어야합니다.
Umar Farooq Khawaja

20
우리는 지금 Resharper를 사용하고 있습니다. 이를 정확히 수행하는 기능이 있습니다. 기본 단축키 : Shift + Alt + L
Laoujin 2014

1
Resharper 명령에 감사드립니다. 저도 검색했습니다.
bastijn 2014

2
이것이 바로 답이며 ReSharper와 같은 타사 도구가 필요하지 않습니다. Ctrl 키 + '['다음 '의'또는 :을 눌러 'Ctrl 키'와 왼쪽 대괄호, 다음의 '
안토니 부스

6

솔루션 탐색기에서 현재 편집중인 파일을 찾으려면 :

Ctrl + W + S

이전에을 사용 Shift + Alt + L했지만 어떤 이유로 더 이상 작동하지 않습니다.

다른 제안 ( Ctrl+\,SCtrl+[,S및 Ctrl +`+ S)은 VS2015에서 작동하지 않습니다. 나는 resharper를 사용하지 않으며 간단한 단축키를 사용할 수있을 때 매크로를 사용하는 것을 좋아하지 않습니다.


이것은 VS 2017에서 나를 위해 일한 유일한 것입니다.
Felipe Costa Gualberto

5

Visual Studio 2015에서 ReSharper 를 사용하면 Shift+ Alt+ L를 눌러 솔루션 탐색기에서 편집중인 현재 파일을 강조 표시 할 수 있습니다.


ReSharper도 사용하고 있는데 이것이 저에게 적합한 유일한 키보드 조합이었습니다. ReSharper가 VS 기본값을 재정의 할 수 있습니까?
Philip Pittle

이 단축키를 구성 할 수있는 키보드 명령의 이름을 알고 있습니까?
Ciaran Gallagher

3

VS2010의 경우이 매크로를 찾았으며 나를 위해 작동합니다.

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

여기에 원본 소스


3

Visual Studio 2010/2012에서는이 확장 ( 링크 )을 사용할 수 있습니다 . 솔루션 탐색기 도구 모음 및 코드 컨텍스트 메뉴에 동기화 옵션을 추가합니다.


"링크"는이 동일한 페이지를 엽니 다 XD
Mate

문서 탭을 마우스 오른쪽 버튼으로 클릭하면 컨텍스트 메뉴에 "솔루션 탐색기에서 찾기"라는 새 메뉴 항목이 표시됩니다. 이 메뉴는 "전체 경로 복사"및 "포함 폴더 열기"메뉴 항목 사이에 있습니다.
S.Serpooshan 2014


0

키보드에서 다음을 눌러야했습니다.

Ctrl + ` + S

가운데의 기호는 백 스페이스 바로 왼쪽에있는 키입니다.

Visual Studio 2015 사용.


사용중인 레이아웃을 말하면 도움이 될 수 있습니다. 키가있는 정보는 도움이됩니다.
bugybunny

0

질문이 맞으면 도구-> 옵션-> 프로젝트 및 솔루션-> 일반으로 이동하여 "솔루션 탐색기에서 활성 항목 추적"옵션을 선택할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.