Visual studio code 更漂亮的扩展名未在文件保存时格式化代码

Visual studio code 更漂亮的扩展名未在文件保存时格式化代码,visual-studio-code,formatting,prettier,Visual Studio Code,Formatting,Prettier,我已经安装了VS代码的扩展名,将其设置为默认格式化程序,还在VS代码的设置文件中将“保存时的格式”设置为true,并将文件设置为在延迟一段时间后自动保存 "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, "files.autoSave": "afterDelay" 但当文件延迟2秒后

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

"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"files.autoSave": "afterDelay"
但当文件延迟2秒后自动保存时,prettier并没有格式化我的代码。只有在以下情况下,才会格式化代码:

  • 使用option+Shift+F键盘快捷键手动格式化代码
  • 按command+S
这是我的
.prettierrc
文件

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

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

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

"editor.formatOnSave": true
仅在以下情况下有效:

  • 代码格式化程序可用
  • 文件延迟后不得保存
  • 而且编辑器不能关闭
我已使用以下设置将Pretter设置为默认格式化程序:

"editor.defaultFormatter": "esbenp.prettier-vscode"
"files.autoSave": "afterDelay"
但我已将文件设置为在以下设置中指定的延迟后自动保存:

"editor.defaultFormatter": "esbenp.prettier-vscode"
"files.autoSave": "afterDelay"
在我的案例中,此设置是问题的原因

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

  • “关闭”
    :脏编辑器永远不会自动保存
  • “afterDelay”
    :在配置了
    文件后,会自动保存脏编辑器。autoSaveDelay
  • “onFocusChange”
    :当编辑器失去焦点时,会自动保存脏编辑器
  • “onWindowChange”
    :当窗口失去焦点时,会自动保存脏编辑器

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

仍然不起作用,解决了这个问题<代码>{“semi”:false,“singleQuote”:true,“arrowParens”:“avoid”,“bracketspacting”:true,“trailingComma”:“es5”,“useTabs”:true,“tabWidth”:4}@TanmaiSharma“仍然不起作用”-很难帮助您获得那么多信息。你能描述一下你目前对“漂亮”的行为吗?手动保存文件时是否格式化文件?你安装了更漂亮的扩展吗?我已经尽了一切可能使它工作。已安装扩展名,设置如上所述。当我手动保存文件时,它没有format.Edit,只是附加了“editor.defaultFormatter”:“esbenp.prettier vscode”,现在似乎工作正常。谢谢