Visual Studio代码,HTML属性引号自动关闭

Wil*_*een 2 visual-studio-code

现在使用 Visual Studio Code。然而,我错过的一个可能有点烦人的功能是双引号的自动关闭。例如,当我写: <div class=">大多数文本编辑器会自动在其中添加第二个双引号(就像这样<div class="">:)

问题:

是否有一个包或一个设置可以使 Visual Studio Code 自动完成我的属性的双引号?

Joe*_*Joe 5

只要您不在右尖括号(字符>)旁边输入光标,VS Code 就会自动关闭 html 标记中的双引号。

因此,如果您开始输入<p class=",Code 会将其扩展为<p class="".

但是,如果您首先键入<p>,然后将光标移回p>字符之间并开始键入<p class=">,则不会插入第二个双引号。

从这个讨论来看,当下一个字符是换行符或空格时,引号自动插入似乎有效。该行为背后的原因是,引号自动插入应该在键入新代码时处于活动状态,但在修改代码时处于非活动状态。

要点是:如果您希望引号自动插入按您想要的方式工作,请将光标放在行前面。

看起来更改此行为已经出现了问题,但尚未实施。

奖励:基于此评论我做了一个键绑定,将使双引号自动插入第二个引号并将光标焦点放在两个引号的中间,这可能是您所期望的。要使用它,请将其复制并粘贴到代码的 keybindings.json 中。以下是编辑 keybindings.json 的一种方法:在 VS Code 中,按CTRL-Kthen CTRL-S,然后向顶部单击“keybindings.json”,其中显示“对于高级自定义,请打开并编辑 keybindings.json”。

键绑定:

{
    "key": "shift+'",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {"snippet": "\"$1\""}
}
Run Code Online (Sandbox Code Playgroud)

使用上面的键绑定的 keybindings.json 示例:

// Place your key bindings in this file to overwrite the defaults
[
    {
        "key": "shift+'",
        "command": "editor.action.insertSnippet",
        "when": "editorTextFocus",
        "args": {"snippet": "\"$1\""}
    }
]
Run Code Online (Sandbox Code Playgroud)