[visual-studio-2008] Wechseln Sie zu passender Klammer in Visual Studio?



12 Answers

Verwenden Sie STRG + ] , um zwischen ihnen zu wechseln. Setzen Sie den Cursor auf eine der geschweiften Klammern, wenn Sie ihn verwenden.

Question

Gibt es in Visual Studio 2008 eine Möglichkeit, von einer schließenden geschweiften Klammer zu ihrer öffnenden Klammer zu gelangen? Ich habe einiges über das Hervorheben der Klammer herausgefunden, aber nichts über das Bewegen des Cursors darauf.

(VB.NET Version dieser Frage: Tastaturkürzel zum Springen zwischen "If / End If" )




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

Auch, ich denke, logisch, aber erwähnenswert STRG + shift + å (für Kapital Å), wählt alles in den geschweiften Klammern und geht zum passenden.




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




Auf meiner italienischen Tastatur ist es STRG + ^ .




Und Strg + Umschalt + ] wählt den gesamten Text aus.




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




In meinem Fall ist es Strg + Shift + \ .

Die Einstellung kann gefunden werden in:

Datei / Einstellungen / Tastaturkürzel

Ich verwende Visual Studio Code 1.8.0

Hoffe, das hilft jemandem.




In Visual Studio Code auf der deutschen Tastatur ist Strg + Shift + ^

Aber Sie müssen eine Datei mit der korrekten Erweiterung öffnen - sie funktioniert beispielsweise nicht in neuen ungesicherten Dateien.




Auf der schweizerisch-französischen Tastatur: benutze STRG + UMSCHALT + ^




Auf meiner französischen Tastatur ist CTRL + ^ .




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




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

Hier ist die Antwort als ein Makro, das ich gebaut habe, das tut es (umschalten), einschließlich zu fokussieren:

Hier ist die Demo:

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



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




Related