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

Visual studio HTML键盘快捷方式中的匹配标记,visual-studio,visual-studio-2008,Visual Studio,Visual Studio 2008,在VisualStudio(2008)中是否有一个快捷方式允许我跳转到匹配的HTML标记。。。当您在代码视图中时,是否像CTRL+]一样用于匹配大括号 例如: <table> <tr> <td> </td> </tr> </table|> 光标位于结束表标记上,我想按CTRL+]之类的键跳转到开始表标记 有什么想法吗?没有,在Visual Studio 2010中不能这样做,在当前版本或旧版本中都不能

在VisualStudio(2008)中是否有一个快捷方式允许我跳转到匹配的HTML标记。。。当您在代码视图中时,是否像CTRL+]一样用于匹配大括号

例如:

<table> <tr> <td> </td> </tr> </table|> 光标位于结束表标记上,我想按CTRL+]之类的键跳转到开始表标记


有什么想法吗?

没有,在Visual Studio 2010中不能这样做,在当前版本或旧版本中都不能。下一个版本可能会有此功能。

当您使用XML编辑器打开HTML文件时(右键单击->使用…->XML编辑器打开),此功能完全有效。

安装CTRL+]后,匹配大括号在HTML编辑模式下工作…

我搜索,无法找到直接快捷方式。但是你可以用

如果您想开始匹配HTML标记,请执行以下步骤

  • 将光标放在匹配的HTML标记的末尾
  • 按Ctrl+M+M[折叠整个标记]
  • 按Home键[在开始标记前将光标置于]
  • 按Ctrl+M+M[展开整个标记]
  • 如果您想结束匹配的HTML标记,请按照以下步骤操作

  • 将光标放在匹配HTML标记的开始处
  • 按Ctrl+M+M[折叠整个标记]
  • 按结束键[将光标放在结束标记旁边]
  • 按Ctrl+M+M[展开整个标记]

  • 在VisualStudio2012中,在文档窗口底部的“source”视图中,有一个面包屑痕迹样式的DOM描述。您可以在任意点单击以进行选择

    它不是一个键盘快捷键,但它确实提供了您正在寻找的选择行为,并且您不再需要通过肉眼匹配标记


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

    确定这里是我创建的宏的答案,它可以执行(切换)操作,包括转到焦点:

    以下是演示:

    这是代码,享受吧

    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
    
    导入系统
    进口环境
    进口环境80
    进口EnvDTE90
    进口EnvDTE90a
    进口环境数据100
    导入系统。诊断
    导入System.Windows.Forms
    公共模块模块2
    子开始()
    '将光标放在开始标记的某个位置,运行宏,从开始到结束标记进行选择
    DTE.ActiveDocument.Selection.SelectLine()
    Dim objSel As TextSelection=DTE.ActiveDocument.Selection
    将顶部点标注为TextPoint=objSel.topPoint
    尺寸L样条线长度=顶点线
    objSel.GotoLine(lTopLine,False)
    'DTE.ActiveDocument.Selection.StartOfLine()
    DTE.ActiveDocument.Selection.SelectLine()
    Dim line1作为字符串=DTE.ActiveDocument.Selection.Text()
    
    如果在VisualStudio2015中使用InStr(第1行,),则现在支持使用与击键匹配的常用括号

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

    不过,它似乎非常敏感,要选择整个标记及其内容,您需要从
    开始,我在Windows 10中使用Visual Studio代码。当前版本为1.34.0。要跳转到匹配的html标记,我通过文件->首选项->键盘快捷键进行设置。查找“匹配标记:跳转到匹配标记”“。当你将其悬停时,会有一个+,然后我设置keybinding
    Shift+]
    。只要它不用于其他函数,你就可以设置自己的。因此,现在我可以跳转到结束HTML标记。希望这会有所帮助。

    跳转到匹配标记功能可以通过以下简单扩展轻松实现:

    安装后,您可以使用命令面板(Win/Linux:
    Ctrl+Shift+p
    ;Mac:
    Cmd+Shift+p
    )并搜索命令名:
    跳转到匹配的标记
    。或者为该命令配置键盘快捷键。以下是我的案例中的
    Shift+5
    键绑定示例:

      {
        "key": "shift+5",
        "command": "highlight-matching-tag.jumpToMatchingTag",
        "when": "editorLangId == html"
      }
    
    • 解决方案对我有效:
    ctrl+shift+p
    这将打开命令pallete,然后写入
    emmet:在搜索栏中转到匹配的配对

    单击
    setting
    图标并设置快捷键(如果需要)。我使用
    ctrl+shift+/
    并按回车键。
    它确实有效。

    LOL;)这太有趣了。。。现在我只需要在XML视图中为HTML设置intellisense。是的,这应该是HTML文档的默认行为。也许它可以与XHTML文档一起使用。如果默认情况下不起作用,可以向xml文档中添加模式文件,如下所示:。以下是xhtml的模式:。此外,您还可以将xml架构添加到架构缓存,如下所述:。我希望这能帮你解决intellisense问题。是的,我已经知道如何将intellisense添加到某些类型中,只是我可能不会做这些,只要让键盘快捷键工作就行了。如果我开始做任何事情——如果这不受支持的话,很可能就是对AddIn进行编码。就像我的一位老师说的:好吧,你可以随时对它进行编程:你指出的Pnice,否则人们可能会认为你在谈论未来。你应该陈述版本,而不是“当前”。VS 2012发布了,现在“current”的意思不是你想要的。我们必须查看邮件日期才能找到答案。这看起来不像是真正可以称为捷径的东西。聪明,聪明!适用于XAML的
    Ctrl+]
    实际上在2019年起作用。@kub1x不适用于我的VS。。。Crtl+]在标记内的开始和结束之间移动。。。不是从开始标记到结束标记。如果将鼠标悬停在面包屑上,将看到一个下拉箭头。单击向下箭头,您将看到“选择标记内容”选项。然后你可以向上或向下滚动