HTML键盘快捷方式中的匹配标记

时间:2010-04-29 15:25:45

标签: visual-studio visual-studio-2008

Visual Studio(2008)中是否有一个快捷方式允许我跳转到匹配的HTML标记...当你在代码视图中时,CTRL +]会匹配大括号吗?

示例:

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

光标在关闭表标签上,我想按CTRL +]之类的东西跳转到打开表标签。

有什么想法吗?

10 个答案:

答案 0 :(得分:60)

我搜索并且找不到直接捷径。但你可以使用..

如果您想开始匹配HTML标记,请按照以下步骤操作。

  1. 将光标放在匹配HTML标记的结尾处。
  2. Ctrl + M + M [收起整个标记]
  3. 主页键[在开始标记前将光标置于此处]
  4. Ctrl + M + M [展开整个标记]
  5. 如果您想结束匹配的HTML标记,请按照以下步骤操作。

    1. 将光标放在开始匹配的HTML标记处。
    2. Ctrl + M + M [收起整个标记]
    3. 结束键[将光标放在结束标记旁边]
    4. Ctrl + M + M [展开整个标记]

答案 1 :(得分:10)

在Visual Studio 2015 中,现在支持通常的括号匹配键击;

  • ctrl+]从开始标记跳转到结束标记。
  • ctrl+shift+]选择开始代码和结束代码之间的所有内容。

但它似乎非常敏感,要选择整个标记及其内容,您需要从打开标记的<开始。

答案 2 :(得分:8)

安装http://www.jetbrains.com/resharper/后,CTRL +]匹配大括号在HTML编辑模式下工作...

答案 3 :(得分:5)

好的,这就是我所建立的宏的答案(切换),包括聚焦:

以下是演示:

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

答案 4 :(得分:3)

在Visual Studio 2012中,在“源”视图中,在文档窗口的底部,有一个DOM的面包屑跟踪样式描述。您可以点击任意点进行选择。

它不是键盘快捷键,但它确实为您提供了所需的选择行为,而且您不再需要用眼睛匹配标签。

(编辑)如果将鼠标悬停在面包屑上,您将看到一个下拉箭头。单击向下箭头,然后单击“选择标记内容”。然后,您可以向上或向下滚动,直到找到未突出显示的文本。

答案 5 :(得分:2)

当您使用XML编辑器打开HTML文件时,这完全有效(右键单击 - &gt;打开方式... - &gt; XML编辑器)。

答案 6 :(得分:1)

  • 适合我的解决方案:

ctrl+shift+p这会打开命令面板,然后在搜索栏中写入emmet:go to matching pair

点击 setting 图标并设置您的快捷键(如果需要)。我使用 ctrl+shift+/ 并按 enter。 它绝对有效。

答案 7 :(得分:0)

不,您不能在Visual Studio 2010中执行此操作,不能在当前版本或旧版本中执行此操作。也许下一个版本将具有此功能。

答案 8 :(得分:0)

我在Windows 10中使用Visual Studio Code。当前版本为1.34.0。要跳转到匹配的html标签,我可以通过File-> Preferences-> Keyboard Shortcuts对其进行设置。查找“匹配标签:跳转到匹配标签”。当您将其悬停时有一个+,然后设置键绑定Viewer ..只要不用于其他功能,就可以设置自己的键。所以现在我可以跳到结束HTML标记了。希望这会有所帮助。

答案 9 :(得分:0)

通过以下简单扩展即可轻松实现跳转到匹配标签的功能:VSCode Highlight Matching Tag

安装后,您可以使用命令面板(Win / Linux:Ctrl+Shift+P; Mac:Cmd+Shift+P)并搜索命令名称:Jump to matching tag。或为该命令配置键盘快捷键。这是我针对shift+5进行键绑定的示例:

  {
    "key": "shift+5",
    "command": "highlight-matching-tag.jumpToMatchingTag",
    "when": "editorLangId == html"
  }