314

Ctrl+TabShift+ Ctrl+Tabが Visual Studio でどのように機能するかを変更することは可能ですか? タブ コントロール内の項目のみを切り替えたいので、ポップアップ ナビゲーター ウィンドウを無効にしました。私の問題は、次のドキュメントと前のドキュメントへの切り替えが矛盾していることです。

私が見た開いているドキュメントにタブコントロールを使用する他のすべてのプログラムは、Ctrl+を使用Tabして左から右に移動し、Shift+ Ctrl+を使用して右から左に移動しTabます。Visual Studio は、選択された最後のタブへのジャンプでこれを中断します。最終的にどのドキュメントにたどり着くかは決してわかりません。

それは非常に直感に反しています。これは、一度に 2 つのドキュメントしか開かないようにするための微妙な方法ですか?


いくつかのファイルを開いているとしましょう。私は 1 つのタブで作業しており、右側の次のタブにあるものを確認する必要があります。地球上の他のすべてのアプリケーションで、Ctrl+Tabは私をそこに連れて行きます。しかし、Visual Studio では、他のどのタブに移動するのかわかりません。ドキュメントを 2 つしか開いていない場合、これはうまく機能します。3 つ以上になるとすぐに、Visual Studio がどのタブに移動することを決定したかについて、すべての賭けがオフになります。

これの問題は、ツールについて考える必要がなく、バックグラウンドにフェードインする必要があり、タスクについて考える必要があることです。現在のタブの動作は、私をタスクから引き離し続け、ツールに注意を払わなければなりません。

4

14 に答える 14

250

Visual Studio 2015 (以前のバージョンの VS と同様に、ただしVS2013 以前を使用している場合はProductivity Power Toolsをインストールする必要があります) では、Visual Studio に 2 つの新しいコマンドがあります。

Window.NextTabWindow.PreviousTab

Ctrl+ Alt+ PageUp/ Ctrl+ Alt+PageDownからCtrl+ Tab/ Ctrl+ Shift+にリマップしてくださいTab:

メニューツール->オプション->環境->キーボード

注: Visual Studio 2010 などの以前のバージョンでは、Window.NextTab と Window.PreviousTab はWindow.NextDocumentWellTabWindow.PreviousDocumentWellTabという名前でした。

于 2010-11-04T16:46:06.357 に答える
71

Visual Studio 2010 には、これを解決する方法が組み込まれています。

デフォルトでは、Ctrl+TabCtrl+ Shift+Tabは に割り当てられてWindow.[Previous/Next]..Documentいますが、

Tools -> Options -> Environment -> Keyboard,

これらのキー割り当てを削除し、再割り当てしてWindow.[Next/Previous]Tab目的の動作を追加します。

于 2012-04-26T19:01:34.777 に答える
8

ブログ投稿Visual Studio Tab Un-stupidifier Macroに移動し、マクロを利用します。マクロを Visual Studio のインストールに適用した後、お気に入りのキーボード ショートカットをマクロにバインドできます。また、しばらくすると迷惑になる可能性があるため、マクロ バルーンを表示しないというコメントのレジストリ修正にも注目してください。

于 2009-09-25T07:14:36.663 に答える
7

表示されるタブの順序がタブ切り替えロジックとは異なり、タブの順序がまったく役に立たなくなるため、Visual Studio のタブ順序の考え方は直感に反するものです。

したがって、より良い解決策が見つかるまで、ウィンドウのレイアウトを ([環境] -> [全般] で) タブ付きドキュメントから複数ドキュメントに変更します。動作は変わりませんが、タブによる混乱が減ります。

そうすれば、DocumentWindowNav もより便利になります。

于 2009-05-12T10:04:41.680 に答える
7

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 にマクロを追加したことがない場合は、非常に便利な方法へのリンクがあります

于 2010-08-04T00:58:51.147 に答える
7

Ctl+ Alt+PgUpまたはPgDnショートカットを使用して、箱から出して次/前のタブを切り替えることができました...

于 2015-07-22T04:25:02.923 に答える
6

私はジェフに100%同意します。

私は Borland C++ Builder で数年間働いていましたが、最も欠けている機能の 1 つは、Ctrl-を使用した「正しい」ドキュメントのタブ順序Tabです。ジェフが言ったように、「現在のタブの振る舞いは私をタスクから引き離し続け、ツールに注意を払わなければなりません」これはまさに私がこれについて感じていることであり、そうでないという事実に非常に驚いています。多くの人がこれについて不平を言っています。

私は思うCtrl- F6- NextDocumentWindowNav - ドキュメントが最後にアクティブ化された時間に基づいてドキュメントをナビゲートします。この動作は、昔の MDI アプリケーションの動作によく似ています。

これを考慮して、現在開いているドキュメントが 2 つ以上ある場合でも、通常はCtrl+F6を使用して 2 つのドキュメントを切り替えます (これは、c++ プロジェクトで作業しているときに .cpp ファイルと .h ファイルを切り替えるのに非常に便利です)。たとえば、10 個のドキュメント (Tab1、Tab2、Tab3、....、Tab10) を開いている場合、Tab1 をクリックしてから Tab2 をクリックします。Ctrl+キーを押してF6離すと、Tab1 にジャンプします。Ctrl+をもう一度押すとF6、Tab2 に戻ります。

于 2009-06-21T02:27:28.337 に答える
5

VSS が Next(Previous)DocumentWindow と呼ぶものが必要だと思います。Ctrl(-Shift)-F6私のVSS 8ではデフォルトでオンCtrl(-Shift)-TabになっていますNext(Previous)DocumentWindowNav。ツール/オプション/キーボードからキーの割り当てを変更できます。

于 2008-08-31T02:10:06.490 に答える
4

レジストリ ブランチ: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0 に、値 1 の "UseMRUDocOrdering" という名前の DWORD を追加します。最近使用したドキュメントが左側に配置されるようにドキュメントが並べ替えられます。完璧ではありませんが、デフォルトの誤動作よりはましです。

于 2011-08-03T07:57:33.020 に答える
-4

私は 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 スクリプトの 2 つの再マッピングです。この種のタスクには優れたツールだと思います。

于 2008-08-21T20:30:35.973 に答える