在Visual Studio 2008中是否有一种方法可以将结束大括号转换为开始大括号?我发现了大量关于突出显示大括号的内容,但没有关于将光标移到大括号上的内容。

(VB。这个问题的NET版本:键盘快捷键在“If/End If”之间跳转)


当前回答

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

其他回答

在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+],得到了我想要的行为。

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

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

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

使用上述快捷键,也可以按住SHIFT键进行选择。

在MacOS上,使用CMD + 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