【发布时间】:2021-01-26 16:47:50
【问题描述】:
我现在已经阅读了大约 10-15 个其他答案,但没有一个解决方案(都是相同的负 3 或 4)对我有用。我正在使用 Prettier 和 Vetur,并且在 VSCode 中也安装了 ESLint 扩展。在过去的 3 天里,我至少检查了 10 次设置,试图触摸所有内容,关闭/打开 VSC 并保存到格式,检查问题是否仍然存在,并继续对每个设置进行逐一尝试消除嫌疑人。出于绝望,我来到这里是为了能够在不破坏我的 html 标签并将代码分离成难以辨认的 BS 的情况下保存我的组件。
我预期的代码格式如下所示:
<button
class="btn btn-success"
@click="sellStock"
:disabled="insufficientFunds || quantity <= 0 || !Number.isInteger(quantity)"
>{{ insufficientQuantity ? "Not enough Stocks" : "Sell" }}</button>
我的格式化程序导致“...isInteger(quantity)”之后的行尾的“”被断行,这会破坏我的整个组件的语法/出现主要的 linter 错误(显然)。
<button
class="btn btn-success"
@click="sellStock"
:disabled="
insufficientFunds || quantity <= 0 || !Number.isInteger(quantity)
"
>
{{ insufficientQuantity ? "Not enough Stocks" : "Sell" }}
</button>
如您所见,即使换行符也是不均匀的,并且在格式化程序方面有零意义......我以前从未见过它这样做。这是下一级烦人的 Vue/Vetur/Prettier/VScode 格式错误,我很困惑为什么这周突然出现问题。
我尝试过更改自动换行长度和更漂亮的长度和缩进、字体大小和小地图的外观...没有似乎让这种疯狂停止,甚至没有打开 html 格式时期。当我不希望它时,它还会将我的一些其他“.vue”组件格式化为多行,但它并没有像这里那样破坏语法/html标签。我已将 word-wrap/line-length 设置为 200+,它被列为设置并且它继续破坏我的代码。
有什么想法吗?
【问题讨论】:
-
我能给出的唯一建议是停止使用 Prettier。试图让它与 ESlint 和 Vetur 一起工作总是很痛苦。然后我在 SO 上找到了this question (and self answer),它建议放弃 Prettier 并使用 ESlint 不仅用于 linting,还用于格式化(需要版本 >= 6)。我现在高兴得像蛤蜊...
-
谢谢!无论如何,我一直讨厌 Prettier……我更喜欢 Beautify,但在 React Native 中遇到了问题,所以我切换到 Prettier,它在大多数情况下与 React/Native 配合得更好。您可以将其发布为答案,以便我标记它吗?我重新下载了美化,将 HTML 的 Vetur 设置设置为 js-beautify,现在一切都很好!谢谢!
标签: vue.js visual-studio-code prettier eslintrc