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

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

我的.prettierrc设置:

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

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


当前回答

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

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

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

其他回答

在某些情况下,prettier是作为依赖项提供的,您可能需要在prettier vscode使用以下命令之一识别它之前安装它,这取决于您使用的包管理器 NPM I或纱线

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

这不是pretty本身的问题,而是pretty - VSCode, VSCode扩展的问题。根据Vue的文档,Vue格式默认是禁用的:

更漂亮。disableLanguages(默认值:["vue"]) 要禁用此扩展的语言id列表。需要重新启动。注意:禁用父文件夹中启用的语言将阻止格式化,而不会让任何其他格式化程序运行

在这种情况下,启用您应该设置“更漂亮。disableLanguages”:[]。由于这是一个扩展配置,你应该在VSCode设置文件,而不是。pretierrc。

你可以试着把这个部分添加到你的VS Code设置中吗?json文件吗?

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

检查是否有.vscode/settings。Json文件在您的项目目录(工作空间)。在我的案例中,有人签入了这个文件:

{
  "editor.formatOnSave": false
}

解决方案:删除文件(也从源代码控制中删除),并将.vscode/添加到.gitignore(如果您使用git)。