Go to closing Tag in Visual studio (using Resharper)?

1.1k views Asked by At

I'm using the latest Resharper (v 8.1) with visual studio 2010.

Is there a keyboard shortcut/feature to "Jump to closing tag" ?

For example : if the cursor is on the first tr :

enter image description here

I want the cursor to go to the closing tr which is </tr>

Is there any shortcut for this ?

(p.s. - something like goto matchine brace but for Xml/html tags)

3

There are 3 answers

0
Royi Namir On BEST ANSWER

Ok here is the answer as macro which i've built which does it (toggle ) including go to focus :

Here is the demo :

enter image description here

And here is the code , enjoy !

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
3
NicoTek On

I heard that ctrl + ] does the trick

0
Arne H. Bitubekk On

From what I've gathered there's no shortcut for this in either reSharper or Visual Studio. A "work around" would be to collapse the tag using Ctrl + M + M, then go to the start or end of the line using Home or End key. When you open it again using Ctrl + M + M will you be either at the top or bottom of the tag.

  • Ctrl + M + M
  • Home / End (Depending if you want to go to the start or end tag)
  • Ctrl + M + M