更漂亮的扩展程序不会在文件保存时格式化代码

You*_*saf 4 formatting visual-studio-code prettier

我已经为 VS Code安装了更漂亮的扩展,将其设置为默认格式化程序,还在 VS Code 的设置文件中将保存时的格式设置为 true,并将文件设置为在一段时间延迟后自动保存。

"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"files.autoSave": "afterDelay"
Run Code Online (Sandbox Code Playgroud)

但是当文件在 2 秒延迟后自动保存时,更漂亮并没有格式化我的代码。代码仅在以下情况下格式化:

  • 手动设置格式使用代码option+ Shift+F键盘快捷键。
  • command+S

这是我的.prettierrc文件

{
    "trailingComma": "es5",
    "tabWidth": 4,
    "semi": true,
    "singleQuote": true
}
Run Code Online (Sandbox Code Playgroud)

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

You*_*saf 8

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

"editor.formatOnSave": true
Run Code Online (Sandbox Code Playgroud)

仅适用于:

  • 代码格式化程序可用。
  • 该文件不得在延迟后保存。
  • 并且编辑器不能关闭。

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

"editor.defaultFormatter": "esbenp.prettier-vscode"
Run Code Online (Sandbox Code Playgroud)

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

"files.autoSave": "afterDelay"
Run Code Online (Sandbox Code Playgroud)

在我的情况下,此设置是问题的原因。

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

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

设置"files.autoSave"为除"afterDelay"将解决问题之外的任何可能的值。我通过设置"files.autoSave""onFocusChange".

  • 编辑-但只是附加了 "editor.defaultFormatter": "esbenp.prettier-vscode" 现在似乎工作正常。谢谢。 (7认同)
  • 有没有人想出一种方法可以节省 afterDelay 的费用? (3认同)