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

阅读 19.7k
2 个回答

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

"source.fixAll.eslint": true

},
"editor.codeActionsOnSaveTimeout": 5000

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题