转到Visual Studio中的匹配大括号?

时间:2009-10-01 04:44:55

标签: visual-studio-2008 keyboard-shortcuts curly-braces

Visual Studio 2008中是否有一种方法可以从右大括号转到其左大括号?我已经找到了相当多的关于突出括号的东西,但没有关于将光标移动到它上面。

(此问题的VB.NET版本:Keyboard shortcut for Jumping between "If/End If"

28 个答案:

答案 0 :(得分:679)

我找到了你:Jump between braces in Visual Studio

  

将光标放在大括号之前或之后(您的选择),然后按 CTRL + ] 。它适用于卷曲或圆形支撑。从现在开始你不需要玩Where's Waldo?找到那个支撑。

答案 1 :(得分:106)

使用 CTRL + ] 在它们之间切换。使用时将光标放在其中一个支架上。

答案 2 :(得分:96)

我使用Visual Studio 2008,您可以自定义此快捷方式。

点击菜单工具 - > 选项 - > 环境 - > 键盘。然后查找 Edit.GotoBrace

这将告诉您当前为此分配的组合键。我想想你可以根据需要改变它,但如果 Ctrl + ] 不起作用,它会很有用。

答案 3 :(得分:26)

注意:它也适用于#if / #elif / #endif匹配。插入符号必须位于

答案 4 :(得分:19)

如果出于某种原因这不适合你,可能会搞砸你的键盘绑定(这对我不起作用)。你可以很容易地重新启用绑定 - 至少我想是这样的:

我尝试了这个程序:

  • 转到菜单工具 - > 选项 - > 环境 - > 键盘
  • 滚动查看或搜索命令Edit.GotoBrace
  • 分配所需的快捷方式(我的是空的,所以我输入 CTRL + ]
  • 请务必点击“指定按钮”

我试了一下,但仍然无效。我重新启动了Visual Studio,它仍然无法工作 - 它只适用于.cs文件,但我需要它来处理.vb文件和文本文件,以及......以及所有文件!

答案 5 :(得分:17)

在我的法语键盘上,它是 CTRL + ^

答案 6 :(得分:15)

在德语键盘上,它是 Ctrl + '

答案 7 :(得分:11)

在西班牙语键盘上,它是 CTRL + ¿(或 CTRL + ¡)。

答案 8 :(得分:10)

在我的丹麦语键盘上,它是 CTRL + Å

答案 9 :(得分:9)

Ctrl + Shift + ] 将选择所有文字。

答案 10 :(得分:9)

在我的葡萄牙语键盘上以及使用EN VS的SO,它是 CTRL + «导航到匹配的大括号和 CTRL + SHIFT + «如果你打算选择内码。

答案 11 :(得分:9)

在土耳其语键盘上,它是 Ctrl + ü

答案 12 :(得分:8)

在我的 pt-BR (巴西葡萄牙语)键盘上,它实际上是 CTRL + [

答案 13 :(得分:8)

在我的意大利语键盘上,它是 CTRL + ^

答案 14 :(得分:8)

为了完整起见,在瑞典语键盘上它是 CTRL + å

另外,我认为合乎逻辑,但值得一提的是 CTRL + shift + å(对于首都Å),选择括号内的所有内容转到匹配的那个。

答案 15 :(得分:7)

在我的斯洛文尼亚语键盘上, ALT + Đ

答案 16 :(得分:6)

在Mac上使用命令 + shift + \

来源:对此答案发表评论:https://stackoverflow.com/a/37877082/3345085。 在Visual Studio代码版本1.10.2中测试。

答案 17 :(得分:5)

转到工具>选项>环境>字体和颜色,选择“支撑匹配(矩形)”并将“项目背景”更改为例如黄色。这适用于C#圆括号(){}和[]。

答案 18 :(得分:5)

在我的荷兰语(比利时)键盘上,它是 CTRL + ^

答案 19 :(得分:4)

有点相关,但对于HTML标签:(由于没有内置解决方案, Ctrl + J 不适用于HTML标签:)

以下是我已经构建的宏(切换)的答案,包括转到焦点:

以下是演示:

Enter image description here

这是代码。享受!

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

答案 20 :(得分:3)

在匈牙利语键盘上,它是 Ctrl + ú

答案 21 :(得分:3)

在德语键盘上,它是 ctrl + shift + ^

答案 22 :(得分:3)

对于Visual Studio代码(如their documentation中所示),请使用 Ctrl + Shift + \

该设置可在以下位置找到:

  

文件/偏好设置/键盘快捷键

我正在使用Visual Studio Code 1.8.0。注意对于国际键盘,Visual Studio Code的行为可能会有所不同(如this answer re: German keyboard

中所示

希望这有助于某人。

答案 23 :(得分:2)

在瑞士法语键盘上:使用 CTRL + SHIFT + ^

答案 24 :(得分:2)

在VS2012的西班牙语(西班牙)键盘上是 Ctrl + ¡,如@Keith所述,但如果您使用 Ctrl + ¿(键入 Ctrl + Shift + ¡)然后转到Matching Brace并选择两个括号内的所有代码然后你不能再去另一个支撑。

答案 25 :(得分:2)

在德语键盘上的Visual Studio代码中, ctrl + shift + ^

但是你必须打开一个扩展名正确的文件 - 例如,它不适用于未保存的新文件。

答案 26 :(得分:0)

可使所有人受益的细节(Linux / Win / Mac)

键盘快捷键菜单/编辑器中的命令为editor.action.jumpToBracket,您可以将其设置为任意值。还有一个名为editor.action.selectToBracket的默认情况下没有快捷方式(至少在Mac上是这样)。

等等。

在Mac上,editor.action.jumpToBracket的开头为 Cmd + Shift + \  我将其更改为 Ctrl + ] ,以与其他人在这里所说的保持一致。我这样做是希望我可以使用 Ctrl + Shift + ] 来“将选择范围扩展到匹配的括号”。这就是导致我发现上面细节的原因。我将editor.action.selectToBracket设置为 Ctrl + Shift + ] ,并得到了我想要的行为。

答案 27 :(得分:0)

2021 年 6 月

在运行 Windows 10 的 Mac 上并行运行 Visual Studio 2019 和 c# 并使用美式键盘,对我有用的解决方案是在“中编辑快捷方式” 工具 选项 键盘 Edit.GoToBrace

在我的系统上,快捷方式是空白的...

按 Ctl 键和 ] 键并保存快捷方式

相关问题