【发布时间】:2020-07-11 09:40:48
【问题描述】:
我遇到了这个问题: How to preserve empty lines when formatting .vue files in VScode?
我通过告诉 VScode(右下角)一个 .vue 文件应该被格式化为一个 .html 文件来解决这个问题。
这解决了格式问题,但我失去了 html 标签中 vue 属性的语法高亮显示。
我需要让 VScode 将文件类型 .vue 格式化为 .html,同时保留语法高亮显示。
如何做到这一点?
.vue 的语法高亮来自扩展。
我尝试了 Vetur 扩展和 vue-beautify 扩展。他们强调了语法,但没有正确格式化 .vue 文件(至少对我来说)
尝试在VScode的全局settings.json中添加以下行
{
"[vue]": {
"editor.defaultFormatter": "vscode.html-language-features"
}
}
但这对他们俩都不起作用。
Vetur 只是忽略了设置并按照 Prettier 规则格式化了 .vue 文件。 (您无法在 Vetur 设置中更改)
在使用 vue-beautify 时,没有为 .vue 文件安装格式化程序。虽然我明确指定要使用 HTML 格式化程序中的构建。
如何强制 VScode 为 .vue 文件使用内置的 HTML 格式化程序,同时仍然使用“Vetur”或“vue-beautify”提供的所有其他功能?
或
如何告诉“Vetur”或“vue-beautify”扩展的“Prettier-html”模块保留空换行符?
更新: - 尝试了“unibeautify”.. 但不支持 vue 的“preserve-max-newlines”功能 - 和“美化” - 根本不支持 vue。 - 和 "pretier" - 不支持 vue 的 "preserve-max-newlines"
【问题讨论】:
-
您是否尝试禁用删除换行符的 linter 规则?
-
就是这样,我不知道如何禁用它。在这种情况下,Prettier 的规则 - 这就是 Vetur 使用的。据我所知,Vetur 是 VScode 唯一对 vue 文件的帮助,尤其是在美化代码之外的其他方面。
-
我怎样才能强制 Vetur 对代码的 html 部分使用内置的 HTML 美化器? VScode 附带的内置 HTML 解析器正是我正在寻找的,但无法将其连接到 Vetur(或 VScode 的其他一些 Vue 代码助手)
标签: vue.js visual-studio-code vetur