在我安装并启用了ESlint和Prettier的Nuxt应用程序中,我切换到Visual Studio Code。

当我打开一个.vue文件并按CMD+ Shift + P并选择格式化文档时,我的文件根本没有被格式化。

我的.prettierrc设置:

{
  "tabWidth": 2,
  "semi": false,
  "singleQuote": true
}

我有这么多源代码行,所以我不能手动格式化它们。我做错了什么?


当前回答

对我来说,它与ESlint有关,ESlint也与Prettier一起工作。Eslint没有工作(本地安装与全局安装冲突),这破坏了Prettier。

其他回答

最近我也遇到了同样的问题,那就是在保存代码时,pretty不会自动格式化代码。检查更漂亮,我看到一个错误:无效的“arrowParens”值。期望“总是”或“避免”,但得到的是真的。

当我点击这个时,看到错误消息:

结果我也安装了“现在更漂亮”。这在我的配置文件中有一个布尔值。卸载“现在更漂亮”后,一切正常。

如果Prettier在保存时自动格式化除HTML文件外的所有其他文件:

按Cmd + P或Ctrl + P打开命令面板,并在其中输入以下文本:

> open settings

从建议下拉菜单中单击Preferences: Open Settings (JSON)。 在设置里面。检查[html]键是否存在。如果该键存在,并且它的值指示使用Visual Studio Code中安装的另一个格式化扩展,则应将其重置为使用Prettier。

"[html]": {
    "esbenp.prettier-vscode"
}

例如,有时“[html]”键的值可以是“remimarsal”。当你安装了“现在更漂亮”扩展时。

如果你没有安装任何其他格式扩展,除了pretty,你也可以从设置中删除“[html]”键。json文件。

在不太可能的情况下,上述解决方案都不适合你(像我一样),我不得不在设置中将默认格式化器设置为null,然后按CTRL + SHIFT + P并搜索“格式文档”(默认格式文档绑定+R对我不起作用),然后我被提示在弹出窗口中选择默认格式化器,在选择更漂亮的格式后,它格式化了文档,现在也保存了格式

如果做什么@Simin Maleki提到的不能解决你的问题,有一个机会,你的默认格式化器没有设置:

File > Preferences > Settings > Search for "default formatter" 

确保“Editor: Default Formatter”字段不为空,而是“Prettier - Code Formatter”(esbenp.prettier-vscode),并且勾选以下所有语言。这解决了我的问题。

一步一步的演练

同时确保保存时的格式是启用的:

在我的例子中,它被typescript格式化器劫持了。

它把我逼疯了,因为它一直在重新格式化我的空间!

为了解决这个问题,我执行cmd+。(设置)type -> "默认格式化程序"

还有未检查的typescript