当您有一个 HTML 标签并且想要将其包装到另一个 HTML 标签中时,最快/最简单的方法是什么?由于这种情况经常发生,我正在寻找一种优化它的方法。
目前主要包括以下步骤:
- 在原始标签之前创建新的 HTML 标签
- 将(自动生成的)结束标签移至原始标签的末尾
- 选择原始标签(可能需要滚动页面)
- 调整插入标签的缩进
- (终于完成了...
我正在寻找这样的东西:
- 选择(折叠的)HTML 标签
- 按一些快捷键(例如CTRL+ Bfor
<b>
,CTRL+ Dfor<div>
)将其包装到特定标签中
答案1
我不知道是否有一个扩展可以完成你的确切 2 个步骤,但这里有一个在 3 中完成它的方法:
- 选择一个 HTML 标签,无论是否折叠 - 都没关系。
- 按下热键执行
editor.emmet.action.wrapWithAbbreviation
命令。默认情况下未设置,因此您需要对其进行配置。 - 输入将包装您所选内容的标签。
也许,可以借助代码片段分两步完成此操作。您可以为不同的标签创建一堆代码片段,例如:
"Wrap with div": {
"scope": "html",
"prefix": "wrap",
"body": "<div>$TM_SELECTED_TEXT</div>"
}
然后创建一组热键宏,首先选择整个标签(例如editor.emmet.action.balanceOut
),然后调用每个代码片段,editor.action.insertSnippet
如下所示args
:{ "name": "Wrap with div" }
。参见例如这个答案有关定义宏的示例。
答案2
因此,有一种方法只需 2 个步骤就可以轻松包装 HTML 元素(安装 vs Code 扩展后):
因此,首先进入 VS 代码并安装名为“htmltagwrap”的扩展。
然后你就可以施展魔法了:
1)选择要包装的代码块,然后 -
如果你正在使用视窗按:
Alt
+W
。
如果你正在使用苹果按:
option
+W
。
然后是 VS Code(如果我没记错的话Emmet
that-) 将自动用标签包裹选定的 HTML 元素<p></p>
,但不用担心 :p
2)然后直接输入您想要的元素,它就会替换它。