我已经为 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"
来解决此问题。