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

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

我的.prettierrc设置:

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

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


当前回答

禁用和启用更漂亮的扩展解决了我的问题

其他回答

以下三个步骤可以解决你的问题:

1 -进入设置,然后搜索自动格式

2 -选择文本编辑器

3—选择“esbenp”。pretty -vscode作为默认格式化器。

简单地说,转到设置>用户选项卡>文本编辑器>编辑器:默认格式化器,并将其更改为更漂亮。

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

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

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

如果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文件。

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

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

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

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

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