2013-12-15 2 views
6

Я использую последнюю Resharper (v 8.1) с Visual Studio 2010.Перейти к закрытию тега в Visual Studio (с помощью Resharper)?

Есть ли сочетание клавиш/функция для «Перейти к закрывающий тег»?

Например: если курсор находится на первом tr:

enter image description here

Я хочу, чтобы курсор, чтобы перейти к закрытию tr которая </tr>

Есть ли ярлык для этого?

(пс - что-то вроде goto matchine brace но Xml HTML-тегов /)

ответ

1

Ok вот ответ, как макрос, который я построил, который делает это (тумблер), включая пути, чтобы сосредоточиться:

Вот демо:

enter image description here

И вот код, наслаждайтесь!

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

Я слышал, что ctrl + ] делает трюк

+2

No. если курсор '< тела> аааааа' и нажимается 'Ctrl]' он будет считать вас '> аааааа' и 'не аааааа </тела>' по желанию –

+2

@ RoyiNamir +1 за ваши усилия в комментариях :) – nawfal

+0

Да Ctrl +] приводит вас к закрывающей скобке, а не к закрывающей метке. Я опубликовал другой метод, который вы могли бы использовать. –

5

Из того, что я собрал нет ярлыка для этого в любом ReSharper или Визуальном Студия. «Работа вокруг» - это свернуть тег с помощью Ctrl + M + M, затем перейти к началу или концу строки с помощью клавиши «Домой» или «Конец». Когда вы снова откроете его, используя Ctrl + M + M, вы будете либо в верхней, либо в нижней части тега.

  • Ctrl + M + M
  • Главная/End (в зависимости, если вы хотите, чтобы перейти в начало или конец тега)
  • Ctrl + M + M
Смежные вопросы