如何使 VS Code 在自动保存后立即执行自动格式化?

作者站长头像
站长
· 阅读数 14

vscode自动保存选afterDelay时自动格式化不生效如何使 VS Code 在自动保存后立即执行自动格式化?这是我目前的配置

{
  "editor.fontSize": 20, // 编辑器字体大小
  "terminal.integrated.fontSize": 18, // terminal 框的字体大小
  "editor.tabSize": 2, // Tab 的大小 2个空格
  "editor.formatOnSave": true, // 保存是格式化
  "prettier.singleQuote": true, // 单引号
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "[vue]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascript]": {
      "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  "eslint.format.enable": true,
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "html",
    "vue",
    "typescript",
    "typescriptreact"
  ]
}

{
    "editor.formatOnSave": true,
   
}

希望图中这两项能同时起作用

回复
1个回答
avatar
test
2024-06-23

需要将 codeActionOnSave 设置为 always,同时将 autoSave 设置为 onFocusChange 或者 onWindowChange。

{
  "files.autoSave": "onFocusChange",
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "always"
  }
}

answer image

相关链接:vscode 官方文档codeActionOnSave 不适用于焦点丢失时的保存

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容