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

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

我的.prettierrc设置:

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

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


当前回答

我需要做的唯一一件事就是用简单的更新包

npm install

我试了这里所有的东西,还是不行。就好像它不存在一样。pretty也作为依赖项添加到项目中。原来是其他人添加或更新了任何软件包,导致我的美容器停止工作。

希望能让别人免去我的头疼。

其他回答

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

不要忘记在VSCode的设置中启用“editor.defaultFormatter”。在我的例子中,它是空的,因此甚至是“编辑器”。formatOnSave”似乎也没有解决这个问题。

在Windows上:

我们可以使用以下命令打开下面的文件:

Start > Run 

文件路径:

%AppData%\Code\User\settings.json

改变 来自:

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

To:

"[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},

注意:

如果上述内容不存在,请添加而不是更改。 您应该已经安装了“更漂亮的代码格式化器”,以查看上述更改的效果- https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode

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

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

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

尽管有这些设置,你仍然会遇到问题。在这种情况下,正如之前的回答中所指出的,那么在VSCode的底部状态栏中检查更漂亮的通知将是一个好点。

当单击该状态时,输出面板应该在HTML文件中报告该问题。对我来说,问题是我在p标签里面有一个div,我认为更漂亮的/VSCode惯例是反对的。当我删除它(并结合上面的所有设置,即默认格式化器和保存时的格式)时,我工作得更好了。

.prettierrc不是必需的,除非你想覆盖VSCode设置