[visual-studio] Visual Studio에서 문서 간 이동을위한 Ctrl + Tab 동작 변경

Visual Studio에서 Ctrl+ TabShift+ Ctrl+ Tab작동 방식을 변경할 수 있습니까? 탭 컨트롤의 항목 사이에서만 전환하기 때문에 팝업 탐색기 창을 비활성화했습니다. 내 문제는 다음 및 이전 문서로 전환하는 내용이 일치하지 않는 것입니다.

내가 본 열린 문서에 탭 컨트롤을 사용하는 다른 모든 프로그램은 Ctrl+ Tab를 사용 하여 왼쪽에서 오른쪽으로 이동하고 Shift+ Ctrl+ Tab를 사용하여 오른쪽에서 왼쪽으로 이동합니다. Visual Studio는 선택된 마지막 탭으로 이동하여이를 중단합니다. 어떤 문서를 만들 것인지 절대 알 수 없으며 두 번 같은 방법이 아닙니다.

매우 반 직관적입니다. 모든 사람이 한 번에 두 개의 문서 만 열도록 권장하는 미묘한 방법입니까?


몇 개의 파일이 열려 있다고 가정 해 봅시다. 나는 하나에서 일하고 있으며 오른쪽의 다음 탭에 무엇이 있는지 확인해야합니다. 지구를 향한 다른 모든 단일 응용 프로그램에서 Ctrl+ Tab는 나를 데려다 줄 것입니다. 그러나 Visual Studio에서는 다른 탭 중 어느 것이 나를 가져갈 지 모릅니다. 문서를 두 개만 열면 이것이 잘 작동합니다. 세 개 이상으로 이동하자마자 Visual Studio에서 어떤 탭으로 전송하기로 결정했는지에 대한 모든 베팅은 종료됩니다.

이것에 대한 문제는 도구에 대해 생각할 필요가없고, 배경으로 희미 해져야하며, 작업에 대해 생각해야한다는 것입니다. 현재 탭 동작으로 인해 작업이 계속 진행되고 도구에주의를 기울여야합니다.



답변

Visual Studio 2015 (이전 버전의 VS뿐만 아니라 VS2013 이하를 사용하는 경우 Productivity Power Tools를 설치해야 함 )에는 Visual Studio에 두 가지 새로운 명령이 있습니다.

Window.NextTab
Window.PreviousTab

Ctrl+ Alt+ PageUp/ Ctrl+ Alt+ PageDown에서 Ctrl+ Tab/ Ctrl+ Shift+ 로 다시 매핑하십시오 Tab.

메뉴 도구 -> 옵션 -> 환경 -> 키보드

참고 : Visual Studio 2010과 같은 이전 버전에서 Window.NextTab 및 Window.PreviousTab의 이름은 Window.NextDocumentWellTab
Window.PreviousDocumentWellTab 입니다.


답변

Visual Studio 2010에는이를 해결하는 방법이 내장되어 있습니다.

기본적으로 Ctrl+ TabCtrl+ Shift+ Tab는에 할당되어 Window.[Previous/Next]..Document있지만

Tools -> Options -> Environment -> Keyboard,

해당 키 지정을 제거하고 다시 지정 Window.[Next/Previous]Tab하여 원하는 동작을 추가하십시오.


답변

적어도 VS 2012에서 변경 될 수 있습니다 (2010 년에도 작동해야한다고 생각합니다).

1) TOOLS > Options > Environment > Keyboard

(예 도구, VS2012!) 이제 세 가지 단축키를 확인하십시오.

2) Window.NextDocumentWindow-상단의 검색 창에 입력하여 빠르게 도착할 수 있습니다. 이제 이것은 당신의 적입니다 입니다. 마음에 들지 않으면 제거하십시오. 자신의 것을 원한다면 다른 것으로 변경하십시오 (그리고 할당 버튼을 잊지 마십시오) . 끝에있는 바로 가기를 기억하십시오 . 나중에 편리 할 것입니다.

(이것은 마지막 탭을 기억하는 바로 가기임을 의미합니다)

여기에 이미지 설명을 입력하십시오

3) 이제 찾으십시오 Window.NextDocumentWindowNav -이것은 위와 동일하지만 열린 탭의 미리보기를 보여줍니다 (이 팝업으로 다른 창으로 너무 빨리 이동할 수 있습니다). 그래도 도움이되지 않았습니다. 2 단계에서 언급 한 모든 작업을 수행 하십시오 (기억 하는 것을 잊지 마십시오 ).

4) Window.NextTab-당신의 마술 물약. 이렇게하면 탭을 순서대로 순환 할 수 있습니다. CTRL+ 를 원 TAB하십니까? 다시 2 단계에서 기억하십시오 .

5) 이제 바로 가기 키 누르기 텍스트 상자에 커서를 놓고 (현재 선택한 항목에 관계없이 이번에 는 할당 하지 않음 ) 세 개 (또는 두 개 또는 하나) 바로 가기 중 첫 번째를 입력하십시오.

여기에 이미지 설명을 입력하십시오

당신은 볼 현재에서 사용하는 바로 가기 : 나와. 바로 가기에 대한 중복 항목이 없는지 확인하십시오. 그림에는 중복 된 항목이 없습니다. 당신이 (드물게) 가지고 있다면 X라고 말하고 X로 가서 바로 가기를 제거하십시오. 다른 바로 가기에도이 단계를 반복하십시오.

6) 이제 Previous단축키도 1-5 반복하십시오 (바람직하게는을 추가하십시오 Shift).

7) 보너스 : 같은 상자의 상단)에서 선택 VS2005 매핑 방식 (, 이제 당신이 얻을 F2에 대한 이름 변경 회원이 아닌 CTRL+ R+ R, 및 F7대한 코드보기 가 아니라 CTRL+ ALT+ 0.

VS는 기본적으로 올바르게 생각합니다. VS가 내가 마지막으로 사용한 것을 기억하고 OS 자체 (on ALT+ TAB) 와 마찬가지로 전환을 쉽게하는 것이 매우 유용하다는 것을 알았습니다 . Firefox는 다르게 동작하지만 내 브라우저는 기본적으로 동일하게 작동합니다 (Opera).


답변

Visual Studio 2012 이상 (2013, 2015, 2017 …)에서 :

  1. 도구 / 옵션 / 환경 / 키보드 메뉴를 찾습니다.
  2. ‘Window.NextTab’명령을 검색하고 단축키를 Ctrl+로 설정하십시오.Tab
  3. ‘Window.PreviousTab’명령을 검색하고 단축키를 Ctrl+ Shift+로 설정하십시오.Tab

여기에 이미지 설명을 입력하십시오


답변

블로그 게시물 Visual Studio 탭 Un-stupidifier Macro로 이동하여 매크로 를 사용하십시오. 매크로를 Visual Studio 설치에 적용한 후 자주 사용하는 키보드 단축키를 이들에 바인딩 할 수 있습니다. 또한 매크로 풍선을 표시하지 않는 것에 대한 주석의 레지스트리 수정은 잠시 후에 성가신 것을 나타낼 수 있습니다.


답변

두 시간 동안 검색 한 후 왼쪽에서 오른쪽으로 이동 하는 CTRL+ TAB를 사용하여 열린 문서를 전환하는 방법 과 SHIFT+ CTRL+TAB 오른쪽에서 왼쪽으로 이동합니다.

간단히 말해이 매크로를 복사하여 붙여 넣어야합니다.

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

Public Module TabCtrl

Public Sub TabForward()
    Dim i As Integer
    Dim activateNext As Boolean = False

    For i = 1 To DTE.Windows.Count
        If DTE.Windows().Item(i).Kind = "Document" Then

            If activateNext Then
                DTE.Windows().Item(i).Activate()
                GoTo done
            End If

            If DTE.Windows().Item(i) Is DTE.ActiveWindow Then
                activateNext = True
            End If
        End If
    Next

    ' Was the last window... go back to the first
    If activateNext Then
        For i = 1 To DTE.Windows.Count
            If DTE.Windows().Item(i).Kind = "Document" Then
                DTE.Windows().Item(i).Activate()
                GoTo done
            End If
        Next
    End If
done:

End Sub

Public Sub TabBackward()
    Dim i As Integer
    Dim activateNext As Boolean = False

    For i = DTE.Windows.Count To 1 Step -1
        If DTE.Windows().Item(i).Kind = "Document" Then

            If activateNext Then
                DTE.Windows().Item(i).Activate()
                GoTo done
            End If

            If DTE.Windows().Item(i) Is DTE.ActiveWindow Then
                activateNext = True
            End If
        End If
    Next

    ' Was the first window... go back to the last
    If activateNext Then
        For i = DTE.Windows.Count To 1 Step -1
            If DTE.Windows().Item(i).Kind = "Document" Then
                DTE.Windows().Item(i).Activate()
                GoTo done
            End If
        Next
    End If
done:

End Sub

End Module

매크로는 www.mrspeaker.net/2006/10/12/tab-un-stupidifier/에서 비롯됩니다.

Visual Studio에 매크로를 추가하지 않으면 매크로를 사용하는 방법에 대한 매우 유용한 링크 가 있습니다 .


답변

표시된 탭의 순서가 탭 전환 논리와 다르기 때문에 Visual Studio 탭 순서의 철학은 매우 반 직관적이므로 탭의 순서는 완전히 쓸모가 없습니다 .

더 나은 해결책이 생길 때까지 (환경-> 일반의) 창 레이아웃을 탭 문서에서 여러 문서로 변경하십시오. 동작을 변경하지는 않지만 탭으로 인한 혼동을 줄입니다.

그렇게하면 DocumentWindowNav가 더 유용하다는 것을 알게 될 것입니다!