不要在 <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" 扩展,这是导致问题的原因。卸载后一切正常。
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" 扩展,这是导致问题的原因。卸载后一切正常。