Zur passenden Klammer in Visual Studio wechseln?

544

Gibt es in Visual Studio 2008 eine Möglichkeit, von einer schließenden Klammer zu einer öffnenden Klammer zu wechseln? Ich habe eine Menge Dinge gefunden, um die Klammer hervorzuheben, aber nichts, um den Cursor darauf zu bewegen.

(VB.NET-Version dieser Frage: Tastenkombination zum Wechseln zwischen "If / End If" )

thepocketwade
quelle
1
Unglaublicherweise scheint dies für .js-Dateien unter Mac Visual Studio nicht zu funktionieren (2019). WTH ?!
Fattie
@Fattie, es funktioniert auch nicht in Windows 10 für CS-Dateien. Ich bin mir ziemlich sicher, dass dies für VS 2019 eine allgemeine Angelegenheit ist,
NH.

Antworten:

734

Ich habe Folgendes für Sie gefunden: In Visual Studio zwischen geschweiften Klammern springen :

Setzen Sie den Cursor vor oder nach der Klammer (Ihrer Wahl) und drücken Sie dann CTRL+ ]. Es funktioniert mit Klammern (), Klammern [] und Klammern {}. Von jetzt an musst du nicht mehr spielen Wo ist Waldo? um diese Zahnspange zu finden.

Verwenden Sie unter MacOS CMD+ SHIFT+\

Tim Santeford
quelle
52
Nur zur Information, auf einer norwegischen Tastatur ist die Abkürzung dafür Ctrl+ Å(wie bei der dänischen Tastatur, die in einer Antwort unten erwähnt wird).
Julian
55
Außerdem ist es in VS 2010 und auf einer deutschen Tastatur Ctrl+ ´. Es ist das Apostroph direkt neben der Rücktaste.
Kjellski
11
Auf belgischem Zertifikat scheint es ctrl+ zu sein ^, was seltsamerweise auf dem Schlüssel steht, der auch die [Klammer hat (die AltGreingegeben werden muss).
Nyerguds
50
Verwenden Sie STRG +] + UMSCHALT, um den Text zwischen ihnen auszuwählen
Ygaradon
15
in italienischer Tastatur ist STRG + ì
Pisu
110

Verwenden Sie CTRL+ ], um zwischen ihnen zu wechseln. Platzieren Sie den Cursor bei Verwendung auf einer der geschweiften Klammern.

Ahmad Mageed
quelle
107

Ich verwende Visual Studio 2008 und Sie können anpassen, wie diese Verknüpfung aussehen soll.

Klicken Sie auf das Menü Extras -> Optionen -> Umgebung -> Tastatur . Suchen Sie dann nach Edit.GotoBrace .

Hier erfahren Sie, welche Tastenkombination aktuell dafür vergeben ist. Ich denke, Sie können dies ändern, wenn Sie möchten, aber es ist nützlich, wenn das Ctrl+ ]nicht funktioniert.

Funkymushroom
quelle
3
Dies ist sehr nützlich, um Tastenkombinationen für Tastaturen anderer Sprachen zu finden.
Afonso Matos
Ja, wir sollten Befehlsfragen immer mit dem Befehlsnamen beantworten, falls die Tastatur anders ist oder die Standardverknüpfung entfernt wurde. Schauen Sie sich auch Edit.GotoBraceExtend an. Wenn Sie Strg + [etwas] Edit.GotoBrace zuordnen, möchten Sie wahrscheinlich Strg + Umschalt + [etwas] Edit.GotoBraceExtend zuordnen.
Hsandt
1
Dies war nützlich für mich, weil es für mich in VS 2017 überhaupt nicht eingestellt war.
Mmm
26

Hinweis: Es funktioniert auch für #if / #elif / #endif Matching. Das Caret muss auf dem sein #.

Pierre
quelle
22

Wenn dies aus irgendeinem Grund NICHT für Sie funktioniert, hat möglicherweise etwas Ihre Tastaturbindungen durcheinander gebracht (es hat bei mir nicht funktioniert). Sie können die Bindung jedoch einfach genug wieder aktivieren - zumindest dachte ich:

Ich habe dieses Verfahren ausprobiert:

  • Gehen Sie zum Menü Extras -> Optionen -> Umgebung -> Tastatur
  • Blättern Sie zu dem Befehl Edit.GotoBrace oder suchen Sie ihn
  • Weisen Sie die gewünschte Verknüpfung zu (meine war leer, also habe ich CTRL   + eingegeben] )
  • Stellen Sie sicher, dass Sie auf die Schaltfläche "Zuweisen" klicken.

Ich habe es versucht und es hat immer noch nicht funktioniert. Ich habe Visual Studio neu gestartet und es hat immer noch nicht funktioniert - nun, es hat NUR für CS-Dateien funktioniert, aber ich brauche es, um für VB-Dateien und Textdateien zu funktionieren, und ... nun, ALLE Dateien!

Paul Gorbas
quelle
2
Verwenden Sie für VB-Dateien CTRL+ SHIFT+ UP/DOWN(Ref: stackoverflow.com/a/7895072/740639 )
Walter Stabosz
@WalterStabosz Funktioniert hier nicht (VS2015 VB.NET).
Ivanzinho
20

Auf meiner französischen Tastatur ist es CTRL+ ^.

Matthieu Rouget
quelle
17

Auf einer deutschen Tastatur ist es Ctrl+ ´.

Baldewin
quelle
12

Auf einer spanischen Tastatur ist es CTRL+ ¿(oder CTRL+ ¡).

Keith
quelle
2
10 Minuten, um WTF zu entdecken, waren ¡, wie in VS2008 Optionsmenü geschrieben. Vielen Dank!
Roman Rdgz
11

Der Vollständigkeit halber ist es auf einer schwedischen Tastatur CTRL + å .

Ich denke auch logisch, aber erwähnenswert CTRL + shift+ å (für Großbuchstaben Å), wählt alles in den Klammern aus und geht zum passenden.

Ola Karlsson
quelle
11

Auf meiner dänischen Tastatur ist es CTRL+ Å.

Raymond
quelle
11

Und Ctrl+ Shift+ ]wählt den gesamten Text aus.

JCS in Tampa
quelle
10

Auf meiner portugiesischen Tastatur und SO mit EN VS ist es CTRL+ «, zur passenden Klammer zu navigieren und CTRL+ SHIFT+, «wenn Sie den inneren Code auswählen möchten.

Peter Mortensen
quelle
9

Auf meiner italienischen Tastatur ist es CTRL+ ^.

Peppe
quelle
9

Auf meiner pt-BR- Tastatur (brasilianisches Portugiesisch) ist es tatsächlich CTRL+ [.

Karlphillip
quelle
9

Auf einer türkischen Tastatur ist es Ctrl+ ü.

Turkdogan Tasdelen
quelle
8

Auf meiner slowenischen Tastatur ist es ALT   +Đ

skz
quelle
2
Standardmäßig ist
STRG
6

Auf meiner niederländischen (belgischen) Tastatur ist es CTRL+ ^.

Ward Coessens
quelle
6

Gehen Sie zu Extras> Optionen> Umgebung> Schriftarten und Farben, wählen Sie "Klammeranpassung (Rechteck)" und ändern Sie den "Elementhintergrund" in z. B. Gelb. Dies funktionierte für die C # -Klammern () {} und [].

Jasumon Janardanan
quelle
Ja, hilfreich. Im Textfeld "Anzeigename" von "Schriftarten und Farben" befindet sich das passende Klammer-Rechteck.
Catto
Wenn Sie das dunkle Thema wie ich haben, macht Cyan anstelle von Gelb auch die Klammer selbst sichtbarer.
Bora
5

Verwenden Sie für Visual Studio-Code (wie in der Dokumentation angegeben ) Ctrl+ Shift+ \.

Die Einstellung finden Sie in:

Datei / Einstellungen / Tastaturkürzel

Ich verwende Visual Studio Code 1.8.0. Hinweis Visual Studio Code kann sich für internationale Tastaturen anders verhalten (wie in dieser Antwort zu deutscher Tastatur dargestellt ).

Hoffe das hilft jemandem.

Claudiu Hardalau
quelle
5

Details, von denen jeder profitieren kann (Linux / Win / Mac)

Mit dem Befehl im Menü / Editor der Tastaturkürzel editor.action.jumpToBracketkönnen Sie ihn auf einen beliebigen Wert einstellen. Es gibt auch eine aufgerufene, editor.action.selectToBracketdie standardmäßig keine Verknüpfung hat (zumindest auf einem Mac).

Usw.

Auf dem Mac editor.action.jumpToBracketbeginnt als Cmd+ Shift+ \ und ich habe es in Ctrl+ geändert ], um mit dem übereinzustimmen, was andere hier sagen. Ich tat dies in der Hoffnung, dass ich Ctrl+ Shift+ verwenden könnte, ]um "Auswahl auf passende Klammer zu erweitern". Das hat mich dazu gebracht, die obigen Details zu entdecken. Ich habe editor.action.selectToBracketauf Ctrl+ Shift+ gesetzt ]und genau das Verhalten bekommen, das ich wollte.

Bruno Bronosky
quelle
4

Auf einer ungarischen Tastatur ist es Ctrl+ ú.

Zéiksz
quelle
4

Ein bisschen relevant, aber für HTML-Tags: (Da es keine integrierte Lösung gibt, funktioniert Ctrl+ Jnicht für HTML-Tags :)

Hier ist die Antwort als Makro, das ich erstellt habe, um es zu tun (umschalten), einschließlich go to focus:

Hier ist die Demo:

Geben Sie hier die Bildbeschreibung ein

Und hier ist der Code. Genießen!

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics
Imports System.Windows.Forms

Public Module Module2
    Sub beginToEnd()

        'Place the cursor somewhere in the beginning tag, run the macro, to select from beginning to end tag

        DTE.ActiveDocument.Selection.SelectLine()
        Dim objSel As TextSelection = DTE.ActiveDocument.Selection
        Dim topPoint As TextPoint = objSel.TopPoint
        Dim lTopLine As Long = topPoint.Line
        objSel.GotoLine(lTopLine, False)
        '  DTE.ActiveDocument.Selection.StartOfLine()
        DTE.ActiveDocument.Selection.SelectLine()
        Dim line1 As String = DTE.ActiveDocument.Selection.Text()

        If InStr(line1, "/") Then

            ' MsgBox(line1)
            DTE.ExecuteCommand("Edit.ToggleOutliningExpansion")
            DTE.ActiveDocument.Selection.EndOfLine()
            DTE.ActiveDocument.Selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstText, True)
            objSel.GotoLine(lTopLine, False)
            DTE.ExecuteCommand("Edit.ToggleOutliningExpansion")
            DTE.ExecuteCommand("Edit.ToggleOutliningExpansion")
        Else
            DTE.ExecuteCommand("Edit.ToggleOutliningExpansion")
            DTE.ActiveDocument.Selection.EndOfLine(False)
            DTE.ExecuteCommand("Edit.ToggleOutliningExpansion")
        End If

        DTE.ActiveDocument.Selection.SelectLine()
        Dim line2 As String = DTE.ActiveDocument.Selection.Text()
        Dim objSel3 As TextSelection = DTE.ActiveDocument.Selection
        Dim topPoint3 As TextPoint = objSel3.TopPoint
        Dim lTopLine3 As Long = topPoint3.Line
        objSel.GotoLine(lTopLine3, False)
        DTE.ActiveDocument.Selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstText, False)
    End Sub
End Module
Royi Namir
quelle
Das Standard-US-Mapping von <Control> +] funktioniert für mich auch in HTML und CSS. Beide Tags werden ebenfalls hervorgehoben.
Paul Gorbas
3

In Visual Studio Code auf deutscher Tastatur ist es ctrl+ shift+^

Sie müssen jedoch eine Datei mit der richtigen Erweiterung öffnen - dies funktioniert beispielsweise nicht in neuen nicht gespeicherten Dateien.

Markus
quelle
3

Auf einer deutschen Tastatur ist es ctrl+ shift+ ^.

Olippuner
quelle
1
Funktioniert so auf meiner französischen Tastatur!
Sylvain P.
In Visual Studio 2019 Windows \ German fand ich Folgendes: [Cntrl] + [´] zu arbeiten
Mong Zhu
2

Auf der schweizerisch-französischen Tastatur: Verwenden Sie CTRL+ SHIFT+^

Fabio Salvalai
quelle
2

Auf Spanisch (Spanien) ist die Tastatur mit VS2012 Ctrl+, ¡wie von @Keith angegeben. Wenn Sie jedoch Ctrl+ ¿(als Ctrl+ Shift+ eingegeben ¡) verwenden, gehen Sie zu Matching Brace plus , wählen Sie den gesamten Code in den beiden geschweiften Klammern aus, und Sie können dann nicht mehr zum gehen andere Klammer.

David Oliván Ubieto
quelle