Ändern des Verhaltens von Strg + Tab zum Wechseln zwischen Dokumenten in Visual Studio

StackOverflow https://stackoverflow.com/questions/21027

  •  09-06-2019
  •  | 
  •  

Frage

Ist es möglich zu ändern, wie Strg + Tab Und Schicht + Strg + Tab Arbeiten Sie in Visual Studio?Ich habe das Popup-Navigatorfenster deaktiviert, da ich nur zwischen Elementen im Tab-Steuerelement wechseln möchte.Mein Problem ist die Inkonsistenz beim Wechsel zum nächsten und vorherigen Dokument.

Jedes andere Programm, das ein Tab-Steuerelement für geöffnete Dokumente verwendet, die ich gesehen habe, verwendet Strg + Tab von links nach rechts bewegen und Schicht + Strg + Tab von rechts nach links gehen.Visual Studio unterbricht dies, indem es zur zuletzt ausgewählten Registerkarte springt.Man kann nie wissen, auf welchem ​​Dokument man landet, und es ist nie zweimal dasselbe.

Es ist sehr kontraintuitiv.Ist dies eine subtile Möglichkeit, alle dazu zu ermutigen, immer nur zwei Dokumente gleichzeitig geöffnet zu haben?


Nehmen wir an, ich habe ein paar Dateien geöffnet.Ich arbeite in einem und muss sehen, was sich auf der nächsten Registerkarte rechts befindet.In jeder anderen einzelnen Anwendung auf der Erde Strg + Tab bringt mich dorthin.Aber in Visual Studio habe ich keine Ahnung, zu welcher der anderen Registerkarten ich gelangen werde.Wenn ich immer nur zwei Dokumente geöffnet habe, funktioniert das großartig.Sobald Sie zu drei oder mehr wechseln, sind alle Wetten dahingehend ungültig, zu welcher Registerkarte Visual Studio Sie weitergeleitet hat.

Das Problem dabei ist, dass ich nicht über das Tool nachdenken muss, es in den Hintergrund treten sollte und ich über die Aufgabe nachdenken sollte.Das aktuelle Tab-Verhalten reißt mich immer wieder aus der Aufgabe und zwingt mich dazu, dem Tool Aufmerksamkeit zu schenken.

War es hilfreich?

Lösung

In Visual Studio 2015 (sowie in früheren Versionen von VS, aber Sie müssen installieren Produktivitäts-Elektrowerkzeuge Wenn Sie VS2013 oder niedriger verwenden, gibt es in Visual Studio zwei neue Befehle:

Window.NextTab UndWindow.PreviousTab

Ordnen Sie sie einfach neu zu Strg+Alt+PageUp/Strg+Alt+Bild nach unten Zu Strg+Tab/Strg+Schicht+Tab In:

Speisekarte Werkzeuge -> Optionen -> Umfeld -> Tastatur

Notiz:In früheren Versionen wie Visual Studio 2010 wurden Window.NextTab und Window.PreviousTab benannt Window.NextDocumentWellTab UndWindow.PreviousDocumentWellTab.

Andere Tipps

Visual Studio 2010 verfügt über eine integrierte Möglichkeit, dieses Problem zu lösen.

Standardmäßig, Strg+Tab Und Strg+Schicht+Tab zugeordnet sind Window.[Previous/Next]..Document, aber du kannst, durch

Tools -> Options -> Environment -> Keyboard,

Entfernen Sie diese Tastenzuweisungen und weisen Sie sie neu zu Window.[Next/Previous]Tab um das gewünschte Verhalten hinzuzufügen.

es kann geändert werden, zumindest in VS 2012 (ich denke, es sollte auch für 2010 funktionieren).

1) TOOLS > Options > Environment > Keyboard

(Ja, TOOLS, es ist VS2012!) Jetzt drei Verknüpfungen zum Überprüfen.

2) Window.NextDocumentWindow - Sie können schnell dorthin gelangen, indem Sie oben im Suchfeld etwas eingeben.Das ist jetzt Ihr Feind.Entfernen Sie es, wenn es Ihnen nicht gefällt.Ändern Sie es in etwas anderes (und vergessen Sie nicht das Zuordnen Knopf), wenn Sie Ihr eigenes haben möchten, Aber denken Sie an die Abkürzung, was auch immer sie am Ende sein mag.Es wird später nützlich sein.

(Ich meine, das ist die Verknüpfung, die sich Ihren letzten Tab merkt)

enter image description here

3) Suchen Sie nun nach Window.NextDocumentWindowNav – Dies ist das Gleiche wie oben, zeigt jedoch eine Vorschau der geöffneten Registerkarten an (Sie können mit diesem Popup zu schnell zu anderen Fenstern navigieren).Ich fand das jedoch nie hilfreich.Führen Sie alles aus, was in Schritt 2 erwähnt wurde (vergessen Sie es nicht). erinnern).

4) Window.NextTab - Dein Zaubertrank.Auf diese Weise können Sie in der Vorwärtsreihenfolge durch die Registerkarten blättern.Vielleicht möchten Sie STRG+TAB?Wieder Schritt 2 und erinnern.

5) Platzieren Sie nun den Cursor im Drücken Sie die Tastenkombinationen: Textfeld (egal, was gerade ausgewählt ist, Sie werden es nicht tun Zuordnen Diesmal) und geben Sie die erste der drei (oder zwei oder eine) Tastenkombination ein.

enter image description here

Du wirst sehen Derzeit verwendete Verknüpfung von: aufgeführt.Stellen Sie sicher, dass Sie keinen doppelten Eintrag für die Verknüpfung haben.Auf dem Bild gibt es keine doppelten Einträge.Falls Sie (eine Seltenheit) haben, sagen Sie X, gehen Sie dann zu X und entfernen Sie die Verknüpfung.Wiederholen Sie diesen Schritt auch für andere Verknüpfungen.

6) Wiederholen Sie nun 1-5 für Previous auch Verknüpfungen (vorzugsweise das Hinzufügen von Schicht).

7) Bonus:Wählen Sie das VS2005-Zuordnungsschema (oben im selben Feld) aus, sodass Sie jetzt Folgendes erhalten: F2 für Umbenennen Mitglieder und nicht STRG+R+R, Und F7 für Code anzeigen und nicht STRG+ALT+0.

Ich bin der Meinung, dass VS standardmäßig alles richtig gemacht hat.Ich finde es äußerst nützlich, dass VS sich merkt, was ich zuletzt verwendet habe, und den Wechsel einfacher macht, ähnlich wie das Betriebssystem selbst (auf ALT+TAB).Mein Browser macht standardmäßig dasselbe (Opera), obwohl ich weiß, dass sich Firefox anders verhält.

In Visual Studio 2012 oder höher (2013, 2015, 2017...):

  1. Durchsuchen Sie das Menü Extras / Optionen / Umgebung / Tastatur.
  2. Suchen Sie nach dem Befehl „Window.NextTab“ und legen Sie die Verknüpfung auf fest Strg+Tab
  3. Suchen Sie nach dem Befehl „Window.PreviousTab“ und legen Sie die Verknüpfung auf fest Strg+Schicht+Tab

enter image description here

Navigieren Sie zum Blogbeitrag Visual Studio Tab Un-stupidifier-Makro und nutzen Sie das Makro.Nachdem Sie das Makro auf Ihre Installation von Visual Studio angewendet haben, können Sie Ihre bevorzugten Tastaturkürzel daran binden.Beachten Sie auch den Registry-Fix ​​in den Kommentaren, der dazu führt, dass die Makro-Sprechblase nicht angezeigt wird, da sie nach einer Weile nervig werden könnte.

Nach ein paar Stunden Suche habe ich eine Lösung gefunden, wie man mit zwischen geöffneten Dokumenten wechseln kann STRG+TAB die sich von links nach rechts bewegen und SCHICHT+ STRG+ TAB von rechts nach links gehen.

Kurz gesagt, Sie müssen dieses Makro kopieren und einfügen:

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

Das Makro stammt von:www.mrspeaker.net/2006/10/12/tab-un-stupidifier/

Wenn Sie niemals ein Makro zu Visual Studio hinzufügen, gibt es einen sehr nützlichen Link dazu Tu es.

Die Philosophie der Visual Studio-Tab-Reihenfolge ist sehr kontraintuitiv, da sich die Reihenfolge der angezeigten Tabs von der Tab-Switching-Logik unterscheidet, die die Reihenfolge der Tabs wiedergibt völlig nutzlos.

Bis eine bessere Lösung gefunden wird, ändern Sie das Fensterlayout (in „Umgebung“ -> „Allgemein“) von „Registerkartendokumente“ in „Mehrfachdokumente“.Dadurch wird sich das Verhalten nicht ändern, aber es verringert die durch die Tabs verursachte Verwirrung.

Auf diese Weise werden Sie auch das DocumentWindowNav nützlicher finden!

Ctl + Alt + PgUp oder PgDn Bei mir funktionierten die Tastenkombinationen zum Umschalten der nächsten/vorherigen Registerkarte sofort ...

Ich stimme Jeff zu 100 % zu.

Ich habe mehrere Jahre lang an Borland C++ Builder gearbeitet und eine der Funktionen, die ich am meisten vermisse, ist die „richtige“ Tab-Reihenfolge im Dokument Strg-Tab.Wie Jeff sagte: „Das aktuelle Tab-Verhalten reißt mich immer wieder aus der Aufgabe und zwingt mich dazu, dem Tool Aufmerksamkeit zu schenken „Das ist genau das, was ich darüber denke, und ich bin sehr überrascht, dass es nicht viele Leute gibt, die sich darüber beschweren.

Ich finde Strg-F6 - NextDocumentWindowNav – navigiert durch Dokumente basierend auf dem Zeitpunkt der letzten Aktivierung des Dokuments.Dieses Verhalten ähnelt stark dem Verhalten von MDI-Anwendungen früher.

Unter Berücksichtigung dessen verwende ich normalerweise Strg+F6 um zwischen zwei Dokumenten zu wechseln (was beim Wechseln zwischen .cpp- und .h-Dateien bei der Arbeit an einem C++-Projekt sehr praktisch ist), auch wenn derzeit mehr als 2 Dokumente geöffnet sind.Wenn Sie beispielsweise 10 Dokumente geöffnet haben (Tab1, Tab2, Tab3, ..., Tab10), klicke ich auf Tab1 und dann auf Tab2.Wenn ich es tue Strg+F6 und lasse die Tasten los, ich springe zu Tab1.Drücken Strg+F6 bringt mich wieder zurück zu Tab2.

Ich vermute, Sie möchten das, was VSS Next(Previous)DocumentWindow nennt.Standardmäßig ist es aktiviert Strg(-Umschalt)-F6 auf meinem VSS 8.An Strg(-Umschalt)-Tab Sie haben Next(Previous)DocumentWindowNav.Sie können die Tastenbelegung über Extras/Optionen/Tastatur ändern.

Im Registrierungszweig:Hkey_current_user software microsoft visualstudio 9.0 Fügen Sie DWORD mit dem Namen "Usemrudocordering" mit einem Wert von 1 hinzu.Die Dokumente werden so angeordnet, dass die zuletzt verwendeten Dokumente auf der linken Seite platziert werden.Es ist nicht perfekt, aber besser als das standardmäßige Fehlverhalten.

Ich verwende kein Visual Studio (Ja, wirklich, ich benutze es nicht), Aber AutoHotkey kann jeden Hotkey global oder in einer bestimmten Anwendung neu zuordnen:

#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

Dies sind zwei Neuzuordnungen meines Hauptskripts von AutoHotKey.Ich denke, es ist ein hervorragendes Werkzeug für diese Art von Aufgaben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top