vscode升级后eslint+prettier保存时格式化失效

vue项目用的 eslint + prettier

升级后自动修复功能失效。。。搞了半天还是有问题,爆炸了,有没有大神帮忙看看

原先配置如下:.vscode/setting.json

{
  "editor.formatOnSave": false,
  "eslint.autoFixOnSave": true,
  // 配置 ESLint 检查的文件类型
  "eslint.validate": [
    "javascript",
    {
      "language":"vue",
      "autoFix": true
    }, {
      "language":"html",
      "autoFix": true
    }
  ]
}

根据提示,修改后配置如下:

{
  "editor.formatOnSave": false,
  // 自动修复
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true,
  },
  // 配置 ESLint 检查的文件类型
  "eslint.validate": ["javascript","vue","html"],
}

但是没什么鸟用,.js文件可以自动修复,但.vue文件不行,感觉是vue后缀不在自动修复的名单中,然而vscode-eslint找不到配置的地方


另一个猜想:可能是eslint和prettier的格式化功能冲突了

我不清楚,eslint和prettier同时存在时,到底哪个插件起作用?还是都起作用

测试如下:

{
  "editor.formatOnSave": false,
  // 自动修复
  "editor.codeActionsOnSave": {
    "source.fixAll": true, // 启用全部的格式化工具
    "source.fixAll.eslint": false, // 关闭eslint格式化工具
  },
  "eslint.format.enable": true
}

结果是可以格式化的,但是每次格式化,vscode会弹好几个窗:

image.png

已解决 悬赏分:70 - 解决时间 2021-11-27 21:08
反对 0举报 0 收藏 0

回答2

最佳
  • @

    试一下将"eslint.autoFixOnSave": true改成
    "editor.formatOnSave": false,
    "editor.codeActionsOnSave": {

    "source.fixAll.eslint": true

    },
    "editor.codeActionsOnSaveTimeout": 5000

    支持 0 反对 0 举报
    2021-11-27 10:06
  • @

    特意注册的账号 感谢啊 感谢

    支持 0 反对 0 举报
    2021-11-27 10:30