在Visual Studio 2008中,有没有一种方法可以从右括号到右括号?我发现有很多关于突出显示括号的内容,但是没有关于将光标移动到括号的内容。
(此问题的VB.NET版本:在“ If / End If”之间跳转的键盘快捷方式)
在Visual Studio 2008中,有没有一种方法可以从右括号到右括号?我发现有很多关于突出显示括号的内容,但是没有关于将光标移动到括号的内容。
(此问题的VB.NET版本:在“ If / End If”之间跳转的键盘快捷方式)
Answers:
我为您找到了这一点:在Visual Studio中的括号之间跳转:
将光标放在括号(您的选择)之前或之后,然后按CTRL+ ]。它适用于括号(),方括号[]和大括号{}。从现在开始,您无需在哪里玩Waldo?找到大括号。
在MacOS上,使用CMD+ SHIFT+\
Ctrl
+ Å
(与以下答案中提到的丹麦语键盘相同)。
Ctrl
+ ´
。它是退格符旁边的撇号。
ctrl
+ ^
,这很奇怪,在还带有方[
括号(需要AltGr
输入)的键上。
我使用的是Visual Studio 2008,您可以自定义此快捷方式的名称。
单击菜单工具 -> 选项 -> 环境 -> 键盘。然后寻找Edit.GotoBrace。
这将告诉您当前为此分配了哪些键组合。我认为您可以根据需要更改此设置,但是如果Ctrl+ ]无效,则很有用。
如果由于某种原因对您不起作用,则可能是您的键盘绑定混乱(对我而言不起作用)。您可以足够容易地重新启用绑定-至少如此,我认为:
我尝试了以下过程:
我试过了,但还是没用。我重新启动了Visual Studio,但仍然无法正常工作-仅适用于.cs文件,但是我需要它才能适用于.vb文件和文本文件,以及...所有文件!
为了完整起见,在瑞典语键盘上为 CTRL + å 。
另外,我想的逻辑,但值得一提的 CTRL + shift+ å (对于资本),选择一切括号内,并进入到一个匹配。
在土耳其语键盘上,它是Ctrl+ ü。
在Mac上,请使用command+ shift+ \。
来源:对此答案的评论:https : //stackoverflow.com/a/37877082/3345085。在Visual Studio Code 1.10.2版中进行了测试。
对于Visual Studio Code(如其文档中所示),请使用Ctrl+ Shift+\。
可以在以下位置找到该设置:
文件/首选项/键盘快捷键
我正在使用Visual Studio Code 1.8.0。注意对于国际键盘,Visual Studio Code的行为可能有所不同(如以下答案所示:德语键盘)
希望这对某人有帮助。
editor.action.jumpToBracket
您可以在其中的键盘快捷键菜单/编辑器中将其设置为任意命令。还有一个叫editor.action.selectToBracket
默认没有快捷方式的电话(至少在Mac上是)。
在Mac上editor.action.jumpToBracket
开始为Cmd+ Shift+ \
,我把它改成Ctrl+ ]要与别人说这里行。我希望,我可以用这样做Ctrl+ Shift+ ]到“扩展选择,以匹配支架”。这就是导致我发现上面细节的原因。我设置editor.action.selectToBracket
为Ctrl+ Shift+,]并且得到了我想要的行为。
有点相关,但是对于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
在德语键盘是ctrl+ shift+ ^。
在瑞士法语键盘上:使用CTRL+ SHIFT+^
在西班牙语(西班牙)上,VS2012的键盘是@Keith所说的Ctrl+ ¡,但如果使用Ctrl+ ¿(键入为Ctrl+ Shift+ ¡),则转到Matching Brace加选择两个大括号内的所有代码,然后就不能再转到其他支撑。