在Visual Studio 2008中是否有一种方法可以将结束大括号转换为开始大括号?我发现了大量关于突出显示大括号的内容,但没有关于将光标移到大括号上的内容。
(VB。这个问题的NET版本:键盘快捷键在“If/End If”之间跳转)
在Visual Studio 2008中是否有一种方法可以将结束大括号转换为开始大括号?我发现了大量关于突出显示大括号的内容,但没有关于将光标移到大括号上的内容。
(VB。这个问题的NET版本:键盘快捷键在“If/End If”之间跳转)
我为你找到了这个:在Visual Studio的括号之间跳转:
将光标放在大括号的前面或后面(由您选择),然后按CTRL +]。它适用于括号(),大括号[]和大括号{}。从现在开始你不需要玩沃尔多在哪?为了找到那个支架。
使用上述快捷键,也可以按住SHIFT键进行选择。
在MacOS上,使用CMD + SHIFT + \。
我使用Visual Studio 2008,你可以自定义你想要的快捷方式。
单击菜单工具->选项->环境->键盘。然后寻找Edit.GotoBrace。
这将告诉您当前分配的键组合是什么。我认为如果你愿意,你可以更改它,但如果Ctrl +]不起作用,它是有用的。
如果出于某种原因,这对你来说不工作,可能是某些东西打乱了你的键盘绑定(这对我来说不工作)。不过,你可以很容易地重新启用绑定-至少我是这么想的:
我尝试了这个方法:
进入菜单工具->选项->环境->键盘 滚动到或搜索“编辑”命令。GotoBrace 指定所需的快捷方式(我的快捷方式是空的,所以我输入CTRL +]) 请务必点击“分配按钮”。
我试过了,还是不行。我重新启动了Visual Studio,它仍然不能工作-好吧,它只工作于。cs文件,但我需要它工作于。vb文件和文本文件,以及…所有文件!
为了完整起见,在瑞典键盘上,它是CTRL + å。
另外,我认为这是合乎逻辑的,但值得一提的是CTRL + shift + å(对于大写Å),选择括号内的所有内容并转到匹配的内容。
在西班牙语(西班牙)键盘上,VS2012是由@Keith表示的Ctrl +±,但如果你使用Ctrl +¿(键入为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
对于Visual Studio Code(见其文档),使用Ctrl+Shift+\。
设置可以在以下地址找到:
文件/参数/键盘快捷键
我使用的是Visual Studio Code 1.8.0。注意:对于国际键盘,Visual Studio Code的行为可能有所不同(参见这个回答re: German keyboard)
希望这能帮助到一些人。
在Mac上使用command+shift+\。
来源:对这个答案的评论:https://stackoverflow.com/a/37877082/3345085。 在Visual Studio Code版本1.10.2中测试。
能让每个人受益的细节(Linux/Win/Mac)
键盘快捷菜单/编辑器中的命令是editor.action. jumptobracket,你可以设置它为任何你喜欢的。还有一个叫做editor.action. selectto括号,默认情况下没有快捷方式(至少在Mac上)。
Etc.
在Mac编辑器中。action. jumptobracket以Cmd+Shift+\开头 我把它改为Ctrl+],以与其他人在这里说的一致。我这样做是希望我可以使用Ctrl+Shift+]来“扩展选择到匹配的括号”。这就是我发现上面细节的原因。我将editor.action. selectto括号设置为Ctrl+Shift+],得到了我想要的行为。
2021年6月
在运行Windows 10的Mac上,在Visual Studio 2019和c#的并行下,使用美国键盘,对我来说有效的解决方案是编辑快捷方式。 工具 选项 键盘 编辑。GoToBrace
在我的系统中,快捷键是空白的…
按下Ctl键和[键保存快捷方式