更漂亮的 vscode 扩展忽略配置文件

Posted

技术标签:

【中文标题】更漂亮的 vscode 扩展忽略配置文件【英文标题】:Prettier vscode extension ignoring config files 【发布时间】:2021-06-21 04:14:30 【问题描述】:

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

https://github.com/Supperhero1/prettierTest

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

我正在尝试找出可能覆盖设置的内容,exension 描述说找出设置的优先级是:

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 但这没有帮助。有没有其他人遇到过这个问题,我不知道在哪里可以解决这个问题......

【问题讨论】:

确保您的 VS Code 使用的格式化程序是 Prettier,而不是 VS Code 的内置格式化程序。 它更漂亮,我检查了。 您是如何检查的? Prettier 扩展的输出是什么? (如果面板没有打开,Ctrl-J打开→输出→Prettier) 啊,我不知道这个面板的存在。我将 prettier 设置为默认值,并使用右键单击上下文菜单中的“使用...格式化文档”选项进行格式化,它忽略了 .prettierrc 文件。无论如何,在看到此面板中的输出后,我想通了,非常感谢。答案中的解释。 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

我的settings.json 需要这个

"[typescript]": 
    "editor.defaultFormatter": "esbenp.prettier-vscode"

【讨论】:

【参考方案3】:

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

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

  "prettier.configPath": ""

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

【讨论】:

谢谢!我实际上是在放置路径,但是在将路径设置为空白之后,就像你所做的那样,它就起作用了!我猜空可能意味着相对于项目根目录。时髦,但至少它有效。【参考方案4】:

我们有一个类似的问题,这就是我解决它的方法。

    在 VS 代码中按:ctrl + shift + p 搜索并转到 首选项:打开设置 (JSON) 进入 setting.json 后,点击 ctrl + f 并搜索:prettier.useEditorConfig 确保其值设置为 true,如下所示:"prettier.useEditorConfig": true

【讨论】:

以上是关于更漂亮的 vscode 扩展忽略配置文件的主要内容,如果未能解决你的问题,请参考以下文章

保存时 VSCode Prettier 警告 - Arrow Parens

VS代码/w。在 TypeScript Monorepo 中更漂亮

更漂亮 + eslint 换行符

如何关闭 VS Code 中更漂亮的尾随逗号?

vscode git忽略文件配置无效的原因

使用 VsCode 更漂亮