在Visual Studio(2008)中,如果我在代码视图中想要找到匹配的HTML标记,是否有类似于CTRL+]的快捷键呢?
例如:
<table> <tr> <td> </td> </tr> </table|>
光标位于结束table标签上,我想按下类似于CTRL+]的按键以跳转到开始的table标签。
有什么想法吗?
在Visual Studio(2008)中,如果我在代码视图中想要找到匹配的HTML标记,是否有类似于CTRL+]的快捷键呢?
例如:
<table> <tr> <td> </td> </tr> </table|>
光标位于结束table标签上,我想按下类似于CTRL+]的按键以跳转到开始的table标签。
有什么想法吗?
我搜索了一下,没找到直接的快捷方式。但是可以使用以下方法:
如果你想要跳转到起始匹配的HTML标签,按照以下步骤进行:
如果你想要跳转到结束匹配的HTML标签,按照以下步骤进行:
Ctrl+]
在2019年实际上是有效的。 - kub1xctrl+]
可以跳转到开始标记的结束标记处。
- ctrl+shift+]
可以选择开始标记和结束标记之间的所有内容。<
开始。ctrl+]
跳转从标签的开头<
到标签本身的结尾>
...它不是在打开的<div>
标签和关闭的</div>
标签之间跳转。 - freefaller<
上时,第一次按下Ctrl+]
会跳转到开放标签的>
,第二次按下Ctrl+]
会跳转到关闭标签后的位置。第三次按下将返回到开放标签的第一个字符。沿途按住Shift
进行选择/取消选择。根据个人喜好调整。太棒了! - kub1x好的,这里是我建立的宏来执行开关操作,包括跳转到焦点:
这是演示:
以下是代码,请享用!
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
Shift + ]
..只要这个按键没有用于其他功能,你可以设置自己的按键绑定。所以现在我能够跳转到闭合的HTML标记。希望能帮到你。按下ctrl+shift+p
,这将打开命令面板,然后在搜索栏中写入emmet:go to matching pair
。
点击设置
图标并设置您的快捷键(如果需要)。我使用ctrl+shift+/
并按回车键。
它绝对有效。
不,你不能在Visual Studio 2010中这样做,无论是当前版本还是旧版本。也许下一个版本会有这个功能。
使用这个简单的扩展程序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"
}
<
和结尾>
之间跳转(即<div>
),但它不会像求助者所要求的那样在打开<div>
标记和关闭</div>
标记之间跳转。 - freefaller