在Visual Studio 2008中是否有一种方法可以将结束大括号转换为开始大括号?我发现了大量关于突出显示大括号的内容,但没有关于将光标移到大括号上的内容。
(VB。这个问题的NET版本:键盘快捷键在“If/End If”之间跳转)
在Visual Studio 2008中是否有一种方法可以将结束大括号转换为开始大括号?我发现了大量关于突出显示大括号的内容,但没有关于将光标移到大括号上的内容。
(VB。这个问题的NET版本:键盘快捷键在“If/End If”之间跳转)
当前回答
在德语键盘上是Ctrl +´。
其他回答
在德语键盘上是Ctrl +´。
如果出于某种原因,这对你来说不工作,可能是某些东西打乱了你的键盘绑定(这对我来说不工作)。不过,你可以很容易地重新启用绑定-至少我是这么想的:
我尝试了这个方法:
进入菜单工具->选项->环境->键盘 滚动到或搜索“编辑”命令。GotoBrace 指定所需的快捷方式(我的快捷方式是空的,所以我输入CTRL +]) 请务必点击“分配按钮”。
我试过了,还是不行。我重新启动了Visual Studio,它仍然不能工作-好吧,它只工作于。cs文件,但我需要它工作于。vb文件和文本文件,以及…所有文件!
选择工具>选项>环境>字体和颜色,选择“括号匹配(矩形)”,并更改“项目背景”为例如黄色。这适用于c#括号(){}和[]。
能让每个人受益的细节(Linux/Win/Mac)
键盘快捷菜单/编辑器中的命令是editor.action. jumptobracket,你可以设置它为任何你喜欢的。还有一个叫做editor.action. selectto括号,默认情况下没有快捷方式(至少在Mac上)。
Etc.
在Mac编辑器中。action. jumptobracket以Cmd+Shift+\开头 我把它改为Ctrl+],以与其他人在这里说的一致。我这样做是希望我可以使用Ctrl+Shift+]来“扩展选择到匹配的括号”。这就是我发现上面细节的原因。我将editor.action. selectto括号设置为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