Programing

Visual Studio에서 문서 간 이동을위한 Ctrl + Tab 동작 변경

lottogame 2020. 3. 24. 08:01
반응형

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.NextTabWindow.PreviousTab

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

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

참고 : Visual Studio 2010과 같은 이전 버전에서 Window.NextTab 및 Window.PreviousTab의 이름은 Window.NextDocumentWellTabWindow.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

(예, TOOLS, 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가 더 유용하다는 것을 알게 될 것입니다!


Ctl+ Alt+ PgUp또는 PgDn바로 가기가 나를 위해 상자에서 다음 / 이전 탭을 토글하는 데 효과적이었습니다 ...


저는 Jeff와 100 % 동의합니다.

나는 몇 년 동안 볼랜드 C ++ 빌더에서 일했다 및 중 하나는 내가 가장 그리워 '올바른'문서 탭 순서가 함께 제공 Ctrl- Tab. Jeff가 말했듯이 " 현재 탭 동작으로 인해 작업에서 벗어날 수 있으며 도구에주의를 기울여야합니다. "는 정확히 이것에 대해 어떻게 느끼는지에 따라 매우 놀랍습니다. 많은 사람들이 이것에 대해 불평합니다.

내 생각 Ctrl- F6- NextDocumentWindowNav - 문서의 마지막 활성화 된 시간을 기준으로 탐색합니다 문서를. 이 동작은 MDI 응용 프로그램이 예전의 동작 방식과 매우 유사합니다.

이 점을 고려 하여 현재 열려있는 문서가 2 개 이상인 경우에도 Ctrl+ F6사용 하여 2 개의 문서 (c ++ 프로젝트에서 작업 할 때 .cpp와 .h 파일 간을 전환하는 데 매우 편리합니다)를 전환합니다. 예를 들어 10 개의 문서가 열리면 (Tab1, Tab2, Tab3, ...., Tab10) Tab1을 클릭 한 다음 Tab2를 클릭합니다. 내가 할 때 Ctrl+ F6및 해제 키를, 나는 TAB1로 이동합니다. Ctrl+를 F6다시 누르면 Tab2로 돌아갑니다.


VSS가 Next (Previous) DocumentWindow라고 부르는 것을 원한다고 생각합니다. 기본적으로 Ctrl(-Shift)-F6VSS 8에 켜져 Ctrl(-Shift)-Tab있습니다 Next(Previous)DocumentWindowNav. 도구 / 옵션 / 키보드를 통해 키 할당을 변경할 수 있습니다.


레지스트리 분기에서 : HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 9.0 값이 1 인 "UseMRUDocOrdering"이라는 DWORD를 추가하십시오. 가장 최근에 사용한 문서가 왼쪽에 배치됩니다. 완벽하지는 않지만 기본 행동보다 낫습니다.


Visual Studio는 사용하지 않지만 ( 예, 실제로는 사용하지 않음 ) AutoHotkey 는 전 세계 또는 특정 응용 프로그램에서 핫키를 다시 매핑 할 수 있습니다.

#IfWinActive Microsoft Excel (application specific remapping)

; Printing area in Excel (@ Ctrl+Alt+A)
^!a::
Send !ade
return

#IfWinActive


$f4::
; Closes the active window (make double tapping F4 works like ALT+F4)
if f4_cnt > 0 
{
    f4_cnt += 1
    return
}

f4_cnt = 1
SetTimer, f4_Handler, 250
return

f4_Handler:
SetTimer, f4_Handler, off

if (f4_cnt >= 2)    ; Pressed more than two times
{   
    SendInput !{f4}
} else {
    ; Resend f4 to the application
    Send {f4}
}

f4_cnt = 0
return

이것들은 나의 주요 AutoHotKey 스크립트의 두 가지 재 맵핑입니다. 이 유형의 작업에 훌륭한 도구라고 생각합니다.

참고 URL : https://stackoverflow.com/questions/21027/changing-ctrl-tab-behavior-for-moving-between-documents-in-visual-studio

반응형