Prettier 扩展未在文件保存时格式化代码

2024-02-06

我已经安装了prettier https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscodeVS Code 的扩展名,将其设置为默认格式化程序,还在 VS Code 的设置文件中将保存时的格式设置为 true,并将文件设置为在一段时间延迟后自动保存。

"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"files.autoSave": "afterDelay"

但是,当文件在 2 秒延迟后自动保存时,Prettier 不会格式化我的代码。仅当满足以下条件时,代码才会被格式化:

  • manually format the code using option + Shift + F keyboard shortcut.
  • press command + S

这是我的.prettierrc file

{
    "trailingComma": "es5",
    "tabWidth": 4,
    "semi": true,
    "singleQuote": true
}

如何在文件保存时自动设置更漂亮的代码格式?


经过一番搜索,我发现以下设置

"editor.formatOnSave": true

仅在以下情况下有效:

  • 代码格式化程序可用。
  • 文件未设置为延迟后保存。
  • 并且编辑器一定不能关闭。

我已使用以下设置将 prettier 设置为默认格式化程序:

"editor.defaultFormatter": "esbenp.prettier-vscode"

但我已将文件设置为在以下设置中指定的延迟后自动保存:

"files.autoSave": "afterDelay"

在我的案例中,此设置是问题的原因。

"files.autoSave"设置可以具有以下值之一:

  • "off":脏编辑器永远不会自动保存。
  • "afterDelay":脏编辑器配置后自动保存files.autoSaveDelay.
  • "onFocusChange":当编辑器失去焦点时,脏编辑器会自动保存。
  • "onWindowChange":当窗口失去焦点时,脏编辑器会自动保存。

Setting "files.autoSave"为任何可能的值,除了"afterDelay"将解决该问题。我通过设置解决了这个问题"files.autoSave" to "onFocusChange".

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Prettier 扩展未在文件保存时格式化代码 的相关文章

随机推荐