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

问题描述

我看到人们在 VS Code 中使用 emmet 缩写的任何地方,代码编辑器的行为都是相同的。如果有人把下面的代码

a:link*3

结果如下

<a href="http://"></a>
<a href="http://"></a>
<a href="http://"></a>

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

<a href="http://"></a><a href="http://"></a><a href="http://"></a>

有没有办法在设置中修改这种行为?我不确定这是否重要,但我正在使用 Apple M1 MBA 的 1.53.0-exploration 版本。

解决方法

"emmet.preferences": {
  "output.inlineBreak": 1
}

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

,

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

例如参见 span*3,它也会内联扩展它们。

<span></span><span></span><span></span>

然而,对于块元素,结果与此 p*3 不同:

<p></p>
<p></p>
<p></p>
,

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

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

"emmet.syntaxProfiles": {

    "html": {
        //if element created is more than 2,it will break to new line for each element
        "inline_break": 2,}
}

我是从文档中读到的:

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...