Emmet 缩写语法乘法将所有元素放在同一行而不是多个?

Kyl*_*e J 6 html emmet visual-studio-code

我看到人们在 VS Code 中使用 Emmet 缩写的地方,代码编辑器的行为都是相同的。如果有人输入以下代码,

a:link*3
Run Code Online (Sandbox Code Playgroud)

结果如下

<a href="http://"></a>
<a href="http://"></a>
<a href="http://"></a>
Run Code Online (Sandbox Code Playgroud)

然而,当我在自己的 VS Code 副本中尝试它时,它似乎在同一行上分配它们而没有返回。

<a href="http://"></a><a href="http://"></a><a href="http://"></a>
Run Code Online (Sandbox Code Playgroud)

有什么方法可以在设置中修改此行为吗?我不确定这是否重要,但我正在 Apple M1 MBA 上进行版本 1.53.0 探索。

小智 7

尝试这个解决方案,它对我有用:

转到 settings.json 并应用此设置:

"emmet.syntaxProfiles": {

    "html": {
        //if element created is more than 2, it will break to new line for each element
        "inline_break": 2,
    }
}
Run Code Online (Sandbox Code Playgroud)

我从文档中读到了它:

inline_break:需要多少个内联元素才能强制换行,数量。默认值为 3。例如,span 2 将扩展为 ,但 span 3 将创建三个元素,每个元素占一个新行。将此选项设置为 0 可禁用内联元素的换行符。

https://docs.emmet.io/customization/syntax-profiles/#create-your-own-profile


Mar*_*ark 7

"emmet.preferences": {
  "output.inlineBreak": 1
}
Run Code Online (Sandbox Code Playgroud)

这似乎是更好的技术,请参阅https://github.com/microsoft/vscode/issues/119088#issuecomment-811297787emmet.syntaxProfiles,因为inline_breakemmet 本身实际上并不支持,而是 vscode 中的一个补充。因此,它可能会在某个时候被弃用,转而采用emmet.preferences这种方法。


Gui*_*tta 1

我相信这是内联元素的行为。

例如span*3,它还会内联扩展它们。

<span></span><span></span><span></span>
Run Code Online (Sandbox Code Playgroud)

然而,对于块元素,结果有所不同,如下所示p*3

<p></p>
<p></p>
<p></p>
Run Code Online (Sandbox Code Playgroud)