问题描述
我看到人们在 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.syntaxProfiles
和 inline_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