Соответствующий тег в сочетаниях клавиш HTML - PullRequest
35 голосов
/ 29 апреля 2010

Есть ли в Visual Studio (2008) ярлык, который позволит мне перейти к соответствующему тегу HTML ... как CTRL +] для соответствующих фигурных скобок, когда вы находитесь в представлении кода?

Пример:

<table>
  <tr>
    <td>
    </td>
  </tr>
</table|>

Курсор находится на закрывающем теге таблицы, и я хотел бы нажать что-то вроде CTRL +], чтобы перейти к открывающему тегу таблицы.

Есть идеи?

Ответы [ 8 ]

60 голосов
/ 26 мая 2012

Я ищу и не могу найти прямой короткий путь. Но вы можете использовать ..

Если вы хотите начать поиск соответствующего тега HTML, выполните следующие действия.

  1. Поместить курсор в конец соответствующего тега HTML.
  2. Нажмите Ctrl + M + M [Свернуть весь тег]
  3. Нажмите Дом Клавиша [Поместить курсор перед началом тега]
  4. Нажмите Ctrl + M + M [Развернуть весь тег]

Если вы хотите завершить поиск соответствующего тега HTML, выполните следующие действия.

  1. Поместить курсор в начало соответствующего тега HTML.
  2. Нажмите Ctrl + M + M [Свернуть весь тег]
  3. Нажмите Конец Клавиша [Поместить курсор рядом с конечным тегом]
  4. Нажмите Ctrl + M + M [Развернуть весь тег]
11 голосов
/ 02 сентября 2016

В Visual Studio 2015 это теперь поддерживается обычными сочетаниями клавиш, соответствующими скобкам;

  • ctrl+] переход от начального тега к конечному тегу.
  • ctrl+shift+] выбирает все между начальным тегом и конечным тегом.

Это кажется довольно чувствительным, и чтобы выбрать весь тег и его содержимое, вам нужно начать прямо с <, который открывает тег.

8 голосов
/ 27 августа 2010

После http://www.jetbrains.com/resharper/ установлен CTRL +] для сопоставления фигурных скобок, работает в режиме редактирования HTML ...

5 голосов
/ 02 декабря 2014

Хорошо, вот ответ в виде макроса, который я построил, который делает это (переключение), включая переход к фокусу:

Вот демоверсия:

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 голосов
/ 12 сентября 2013

В Visual Studio 2012, в представлении «источник», в нижней части окна документа, есть описание DOM в виде «хлебных крошек». Вы можете нажать в любой момент, чтобы выбрать.

Это не сочетание клавиш, но оно дает вам поведение выбора, которое вы ищете, и вам больше не нужно сопоставлять теги на глаз.

(Правка) Если вы наведете курсор на крошку, вы увидите стрелку раскрывающегося списка. Нажмите стрелку вниз и нажмите «Выбрать содержимое тега». Затем вы можете просто прокрутить вверх или вниз, пока не найдете текст, который не выделен.

2 голосов
/ 19 мая 2010

Это полностью работает, когда вы открываете файл HTML с помощью XML Editor (щелкните правой кнопкой мыши -> Open With ... -> XML Editor).

1 голос
/ 20 мая 2019

Я использую код Visual Studio в Windows 10. В настоящее время версия 1.34.0. Чтобы перейти к соответствующему тегу html, я настроил его через Файл -> Настройки -> Сочетания клавиш. Ищите «Соответствующий тег: Перейти к соответствующему тегу». При наведении на него есть +, затем я устанавливаю привязку клавиш Shift + ] .. Вы можете установить свою собственную, если она не используется для другой функции. Так что теперь я могу перейти к закрывающему тегу HTML. Надеюсь, это поможет.

0 голосов
/ 19 мая 2010

Нет, вы не можете сделать это в Visual Studio 2010, ни в текущей версии, ни в более старых.Возможно, следующая версия будет иметь эту функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...