6

当我使用内置格式化程序时,我有这个 HTML 。不好。我希望每个标签都被级联。在这里,我们有 span 和 svg 以及 a 在同一行。

在此处输入图像描述

用 prettier 格式化后(这个版本

我明白了。这几乎更糟。(请参阅稍后的编辑部分,解释为什么它实际上是 prettier 的明智选择。)

在此处输入图像描述

更漂亮的配置是

在此处输入图像描述

我可以用什么来正确地自动格式化这个 HTML?


编辑:我得到了我想要的美化扩展并编辑它的内联配置。 在此处输入图像描述

就是为什么更漂亮的格式是这样的。这是一种不破坏内容显示的解决方法。实际上,一旦您习惯了它,它就非常聪明。

您可以使用选项覆盖它

"prettier.htmlWhitespaceSensitivity": "ignore",

请参阅上面的链接以了解更多信息。

4

1 回答 1

3

You can set a prettier format as the default format for your editor to all programming languages by putting prettier properties in the setting.json file.

"editor.defaultFormatter": "esbenp.prettier-vscode",

Prettier format for HTML doesn't look so cool in my opinion so I have set it to default VS Code format.

"[html]": {
    "editor.defaultFormatter": "vscode.html-language-features"
},

If you want the Beautify format extension to your HTML you can install the beautify extension and add this line in the setting.json file

"[html]": {
    "editor.defaultFormatter": "HookyQR.beautify"
}

Similarly, you can set a different format extension to a different language. In my opinion, this is the standard way of setting the format extension to one or many languages.

You can do it like this

"beautify.language": {
    "html": ["html", "php", "erb"],
},

Edited

All credits to @Fred.

You can achieve the same behavior of beautify extension in prettier by the following property.

"prettier.htmlWhitespaceSensitivity": "ignore"
于 2021-01-01T12:19:27.230 回答