578

Visual Studio 2008 中有没有办法从右大括号转到左大括号?我发现了很多关于突出显示大括号的内容,但没有找到关于将光标移动到它的内容。

(此问题的 VB.NET 版本:“If/End If”之间跳转的键盘快捷键

4

27 回答 27

786

我为您找到了这个:在 Visual Studio 中的大括号之间跳转

将光标放在大括号之前或之后(您的选择),然后按CTRL+ ]。它适用于圆括号 ( )、方括号 [ ] 和大括号 { }。从现在开始你不需要玩沃尔多在哪里了?找到那个支架。

使用上述快捷方式,您也可以按住SHIFT选择。

在 MacOS 上,使用CMD++ SHIFT\

于 2009-10-01T04:49:42.240 回答
118

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

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

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

于 2011-06-10T16:37:45.310 回答
114

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

于 2009-10-01T04:48:17.530 回答
26

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

于 2011-02-24T19:16:11.397 回答
23

如果由于某种原因这对您不起作用,则可能是某些东西弄乱了您的键盘绑定(它对我不起作用)。不过,您可以轻松地重新启用绑定 - 至少我是这么认为的:

我试过这个程序:

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

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

于 2012-05-09T18:25:27.343 回答
20

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

于 2011-11-15T16:51:04.960 回答
18

在德语键盘上是Ctrl+ ´

于 2011-06-06T08:55:06.820 回答
13

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

于 2011-10-19T14:20:44.743 回答
12

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

于 2010-03-19T09:33:09.183 回答
12

Ctrl++Shift]选择所有文本。

于 2014-06-27T17:46:51.277 回答
11

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

于 2012-01-24T18:51:42.653 回答
11

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

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

于 2012-09-06T14:41:50.407 回答
10

在我的葡萄牙语键盘和带有 EN VS 的 SO 上,如果您打算选择内部代码,则使用CTRL+«导航到匹配的大括号和CTRL+ SHIFT+ 。«

于 2010-04-05T08:49:48.563 回答
9

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

于 2011-05-11T01:21:24.250 回答
9

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

于 2012-09-17T09:30:25.110 回答
8

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

于 2011-02-28T11:31:01.893 回答
7

对于 Visual Studio Code(如他们的文档中所见),请使用Ctrl++ 。Shift\

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

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

我正在使用 Visual Studio Code 1.8.0 。注意 Visual Studio Code 对于国际键盘的行为可能会有所不同(如本答案中所见re: German keyboard )

希望这可以帮助某人。

于 2016-12-16T01:55:03.193 回答
7

在 Mac 上使用command++ 。shift\

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

于 2017-04-19T03:01:29.220 回答
6

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

于 2011-06-10T15:46:45.780 回答
6

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

于 2012-02-01T18:39:24.600 回答
6

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

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

等等。

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

于 2019-04-14T16:55:42.500 回答
4

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

于 2014-01-21T12:59:53.540 回答
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
于 2014-12-02T07:54:35.210 回答
3

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

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

于 2016-09-16T13:34:15.273 回答
2

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

于 2012-11-06T08:42:34.843 回答
2

在带有 VS2012 的西班牙语(西班牙)键盘上是Ctrl+¡如@Keith 所述,但如果你使用Ctrl+ ¿(键入为Ctrl+ Shift+ ¡)然后转到匹配大括号加上选择两个大括号内的所有代码,然后你不能再去其他支架。

于 2013-08-29T07:25:25.143 回答
0

2021 年 6 月

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

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

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

于 2021-06-15T00:49:23.050 回答