Prettier vscode 扩展忽略配置文件

Prettier vscode extension ignoring config files

我无法获得更漂亮的扩展来使用我的配置文件。它继续使用全局设置(如 vscode 中的配置路径设置中所定义)。我做了一个示例项目:

https://github.com/Supperhero1/prettierTest

我在 .prettierrc 文件中将 tabWidth 设置为 1。当我 运行 “npx prettier --write”。 prettier 包正确地格式化 test.ts 文档以缩进一个,但是如果我保存文件(我打开了保存格式),它会被格式化回全局设置(4 个空格)。我删除了全局设置中的所有设置,但它默认为带有两个空格的选项卡。该扩展似乎完全忽略了配置文件。一位同事有扩展名,它可以很好地处理配置文件。

我正在尝试找出可能覆盖该设置的内容,扩展说明说确定设置的优先级是:

Prettier configuration file
.editorconfig
Visual Studio Code Settings (Ignored if any other configuration is present)

而在官方文档中,配置文件的解析优先级是:

A "prettier" key in your package.json file.
A .prettierrc file written in JSON or YAML.
...

看到我的 package.json 文件中没有更漂亮的密钥,应该没有任何东西可以覆盖我的 .prettierrc 文件。我尝试重新启动 vscode 但没有帮助。有没有其他人遇到过这个问题,我不确定去哪里解决这个问题...

似乎 VSCode 更漂亮的扩展使用 VSCode 设置中的配置文件而不是本地配置文件,即使该配置是一个空的 json 文件,它也会回退使用默认设置而不是本地设置(来自 .prettierrc)。当我从 VSCode 中的 Prettier: Config Path 设置中删除路径时,它按预期工作。

我想我希望这个路径中的文件是当你没有本地配置文件时的后备,但是看到这个文件似乎覆盖了所有其他设置,我想预期的用途是设置a 用户设置为默认值,然后为您不想使用默认值的每个工作区设置一个工作区设置。或者在用户设置中将道具留空。

对我来说,我的 VSCode 似乎已经设置为使用它自己的内部解析器,因此它被使用了(例如在保存格式时

我的settings.json

需要这个
"[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
}

在 VS Code 中按 Ctrl + shift + p 打开命令面板然后选择

首选项:打开设置(JSON)并在您拥有的其他设置中添加行:

  "prettier.configPath": ""

保存文件。现在 Prettier 扩展尊重您的本地 .prettierrc 配置文件。基本上 Prettier: Config Path Path to the prettier configuration file 选项会覆盖所有其他配置文件,而不管位置如何。

我尝试了很多其他人推荐的不同方式;但是,存储库没有任何作用。对我有用的唯一方法是从 VScode 中卸载 prettier。我的工作存储库目前在“.editorconfig”、“.eslintrc.json”、“.prettierrc.html.json”、“.prettierrc.ts.json”、“.prettierrc.scss.json”中具有以下格式规则本地。

我遇到过这个问题,花了我很多时间才解决。最后,我找到了与您类似的问题的解决方案。

  1. 在 VS Code 中按打开命令面板 (Ctrl + Shift + P)
  2. 搜索并select这个:格式化文档...
  3. 在 select 之后选择 Prettier - 代码格式化程序 作为默认格式化程序