我想在VS代码的标签内包装我所选择的html。 我怎么做呢?


当前回答

在VSCode 1.47+中,你可以简单地使用OPT-w。

利用内置功能来触发emmet,这是最简单的方法:

选择你的text/html。 Shift +选项+ w 在命令面板中打开的emmet窗口中,输入所需的标记或包装代码。 输入 瞧

其他回答

由于我不能评论,我将详述亚历克斯的精彩答案。

如果你想要类似于sublime的换行体验,打开键盘快捷键(command⌘/Ctrl+shift+P > Preferences: open Keyboard Shortcuts (JSON)),并添加以下对象:

{
    "key": "alt+w",
    "command": "editor.emmet.action.wrapWithAbbreviation",
    "when": "editorHasSelection && editorTextFocus"
}

哪个将Emmet wrap命令绑定到选项 当选择文本时,为“/Alt+W”。

你也可以使用UI来做到这一点,打开键盘快捷键菜单并搜索“emmet wrap with缩写”来添加快捷键。

我刚刚安装了htmltagwrap从扩展市场和使用ALT-W包装标签(Windows版本)。

嵌入的艾米特可以做到这一点:

选择文本(可选) 打开命令面板(通常是Ctrl+Shift+P) 执行Emmet:用缩写结尾 输入标签div(或缩写。wrapper>p) 回车

命令可以分配给键绑定。


这个东西甚至支持传递参数:

{
    "key": "ctrl+shift+9",
    "command": "editor.emmet.action.wrapWithAbbreviation",
    "when": "editorHasSelection",
    "args": {
        "abbreviation": "span",
    },
},

像这样使用它:

span.myCssClass 跨度# myCssId b b.myCssClass

在VSCode 1.47+中,你可以简单地使用OPT-w。

利用内置功能来触发emmet,这是最简单的方法:

选择你的text/html。 Shift +选项+ w 在命令面板中打开的emmet窗口中,输入所需的标记或包装代码。 输入 瞧

在我看来,使用snippet有一个更好的答案

用这样的定义创建一个代码片段:

"name_of_your_snippet": {
    "scope": "javascript,html",
    "prefix": "name_of_your_snippet",
    "body": "<${0:b}>$TM_SELECTED_TEXT</${0:b}>"
}

然后在键绑定中将其绑定到一个键。例如:

{ 
    "key": "alt+w",
    "command": "editor.action.insertSnippet",
    "args": { "name": "name_of_your_snippet" }
}

我认为这应该给你完全相同的结果htmlltagwrap,但不需要安装扩展。

它将在选定的文本周围插入标签,默认为<b>标签&选择标签,因此键入可以更改它。

如果您想使用不同的默认标记,只需更改代码片段的body属性中的b。