不要在 <head> 和 <body> 标签前使用 VSCode 的自动格式化程序添加额外的换行符

Do not add extra newline before <head> and <body> tags with VSCode's autoformatter

默认情况下,

VSCode 的格式化程序会自动在 <head><body> 标记之前以及结束的 </html> 标记之前插入换行符。在默认设置中存在以下行:

// List of tags, comma separated, that should have an extra newline before them. 'null' defaults to "head, body, /html".
"html.format.extraLiners": null,

我尝试将用户设置中的 html.format.extraLiners 设置为 """none",但没有任何改变。

这是我得到的:

<html>

<head></head>

<body></body>

</html>

这就是我想要的:

<html>
<head></head>
<body></body>    
</html>

出于某种原因,在这种情况下,空字符串被视为与 null 相同。可能是因为空字符串和 null 在 JS 中都是假的。代码可能已使用 truthy/falsy 检查而不是 === null.

实现此设置的默认值 不过,

"none" 应该可以。由单个 space 字符组成的字符串也适用于我:

"html.format.extraLiners": " ",

我安装了 "JS-CSS-HTML Formatter" 扩展,这是导致问题的原因。卸载后一切正常。