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

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

我的.prettierrc设置:

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

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


当前回答

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

其他回答

对我来说,问题是HTML文件的格式有一天停止工作。我设置了保存格式,它适用于除HTML以外的所有文件。

然后我意识到,我试验性地将保存模式的格式设置为修改而不是文件,然后忘记了它。这对HTML文件中的任何内容都没有格式化的影响,令人惊讶的是,即使是我的更改也没有格式化。将其设置回文件解决了这个问题。

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

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

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

检查你的包裹。Json文件的属性为prettier,因为这将优先。

{
  "name": "example",
  "scripts": { ... },

  "prettier": {},

  "dependencies": { ... },
  "devDependencies": { ... },
}

删除此属性,将使用. pretierrc文件。

优先级的顺序在更漂亮的文档中说明。

如果你已经设置了所有的东西,你可以在设置和漂亮的工作不。尝试通过这个命令行安装它。 NPM install——save-dev pretty

我在WSL中工作(也将为只在自定义工作区中有问题的人工作),我尝试了每一个可能的修复,直到我在vscode设置上发现这个选项卡:

选择关于您的问题的选项卡,并再次更改所有设置,并将“Files: Auto Save”设置更改为“onFocusChange”或“onWindowChange”。