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



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

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

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

  • 使用选项+Shift+F键盘快捷键手动格式化代码。
  • 命令+S

这是我.prettierrc文件

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

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

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

"editor.formatOnSave": true

仅在以下情况下有效:

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

我使用以下设置将更漂亮的格式化程序设置为默认格式化程序:

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

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

"files.autoSave": "afterDelay"

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

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

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

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

最新更新