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

问题描述 投票:508回答:27

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

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

visual-studio-2008 keyboard-shortcuts curly-braces
27个回答
685
投票

我找到了这个:Jump between braces in Visual Studio

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


9
投票

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

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


9
投票

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


9
投票

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


9
投票

并按Ctrl + Shift +]将选择所有文本。


8
投票

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


8
投票

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


7
投票

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


6
投票

在Mac上使用命令+ shift + \。

资料来源:对这个答案的评论:https://stackoverflow.com/a/37877082/3345085。在Visual Studio代码版本1.10.2中测试。


5
投票

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


5
投票

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


108
投票

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


4
投票

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

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

这是演示:

这是代码。请享用!

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

3
投票

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


3
投票

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


3
投票

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

设置可在以下位置找到:

文件/首选项/键盘快捷方式

我使用的是Visual Studio Code 1.8.0。注意Visual Studio代码对于国际键盘的行为可能不同(如this answer re: German keyboard中所示)

希望这有助于某人。


2
投票

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


2
投票

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


2
投票

在德语键盘上的Visual Studio Code中,它是ctrl + shift + ^

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


2
投票

Details that can benefit everyone (Linux/Win/Mac)

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

Etc.

在Mac上,editor.action.jumpToBracket以Cmd + Shift + \开头,我将其更改为Ctrl +],以符合其他人的说法。我这样做是希望我可以使用Ctrl + Shift +]“将选择扩展到匹配括号”。这就是让我发现上述细节的原因。我将editor.action.selectToBracket设置为Ctrl + Shift +]并得到我想要的行为。


98
投票

我使用Visual Studio 2008,你可以自定义你想要的快捷方式。

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

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


26
投票

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


19
投票

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

我试过这个程序:

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

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


17
投票

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


15
投票

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


11
投票

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


10
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.