【问题标题】:Go to closing Tag in Visual studio (using Resharper)?在 Visual Studio 中关闭标签(使用 Resharper)?
【发布时间】:2014-01-02 18:39:28
【问题描述】:

我在 Visual Studio 2010 中使用最新的 Resharper (v 8.1)。

是否有“跳转到结束标签”的键盘快捷键/功能?

例如:如果光标在第一个tr

我希望光标转到结尾的tr,即</tr>

这有什么捷径吗?

(p.s. - 类似于 goto matchine brace 但用于 Xml/html 标签)

【问题讨论】:

    标签: visual-studio-2010 resharper resharper-8.1


    【解决方案1】:

    根据我收集到的信息,在 reSharper 或 Visual Studio 中都没有捷径。 “解决方法”是使用 Ctrl + M + M 折叠标签,然后使用 Home 或 End 键转到行的开头或结尾。当您再次使用 Ctrl + M + M 打开它时,您将位于标签的顶部或底部。

    • Ctrl + M + M
    • Home / End(取决于你想去开始还是结束标签)
    • Ctrl + M + M

    【讨论】:

      【解决方案2】:

      我听说ctrl + ] 可以解决问题

      【讨论】:

      • 没有。如果光标是 <<here>body> aaaaaa </body> 并且您按 ctrl] 它会根据需要将您带到 <body<here>> aaaaaa </body> 而不是 <body> aaaaaa <<here>/body>
      • @RoyiNamir +1 感谢您在 cmets 中的努力 :)
      • 是的 Ctrl + ] 将您带到右大括号,而不是关闭标签。我发布了另一种您可以使用的方法。
      【解决方案3】:

      好的,这是我构建的宏的答案(切换),包括转到焦点:

      这里是演示:

      这里是代码,享受吧!

      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 cursor somewhere in beginning tag, run 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-18
        • 2011-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多