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

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

我的.prettierrc设置:

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

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


当前回答

在我的情况下,我使用的是一台windows机器,原来文件系统已经损坏,因此漂亮的提出了一个错误,因为它无法打开配置文件,由于文件系统损坏。

为了解决这个问题,我在终端上运行chkdsk /f h:,其中h是文件分区。

这解决了文件腐败和漂亮的现在工作正常。

其他回答

我没有使用Vue,但遇到了同样的问题。

我已经设置好了

编辑器:用于更漂亮的默认格式化器 编辑器:格式保存为true 我已经有了。eslintrc.js和。prettierrc文件 但是什么都不管用。

我的问题的解决方案是,我已经正确设置,除了我需要:

Command + Shift + p 输入格式文件 select Configure Default Formatter… 选择pretty作为默认值。

我不知道为什么编辑器:保存的格式设置为true是不够的。 我需要使用上面的步骤选择默认格式化器,这样它就可以工作了。

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

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

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

当我从Ubuntu转到Windows 10时,我也遇到了同样的问题。

问题出在快捷键“ctrl + shirt + i”上,这是Ubuntu的默认设置,但在Win10中没有。

去文件->首选项->键盘快捷方式。

然后写得更漂亮,找到“格式文档(强制)”。 点击铅笔在左边和写键盘快捷键,按Enter。

如果因为已经有命令写入该快捷方式而不可能,那么找到它并将其更改为其他方式。这样就有可能了。

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

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

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

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

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

还有未检查的typescript