vscode中eslint正在运行,控制台提示警告,但文件中没有显示任何lint错误/警告,保存也不自动修复。

由于打开了其他项目的文件,导致eslint的nodePath自动改变。就会导致文件中eslint错误或者警告不会提示。
解决方法:
前提是你再vscode中安装了eslint插件。
在用户设置或者工作区设置(最好在工作区中设置否则可能由于不同项目eslint包版本不同导致问题)中设置eslint.nodePath
例如,如果无法检测到已安装的ESLint包,请使用此设置/myGlobalNodePackages/node_modules。

 "eslint.nodePath": "c:\\Users\\Q1web项目\\node_modules",

一般项目启动在eslint输出中可以看到路径:
vscode中eslint正在运行,控制台提示警告,但文件中没有显示任何lint错误/警告,保存也不自动修复。_第1张图片
重启项目,这样就ok了。

如果是vue,保存还是不能自动修复应该是用户配置有问题,可以做如下配置:

  /* eslint插件配置 */
  "eslint.enable": true,
  "eslint.autoFixOnSave": true,//eslint.autoFixOnSave - 启用保存时自动修复。请注意,自动修复的保存仅当VS代码的files.autoSave要么是off,onFocusChange或onWindowChange。它无法使用afterDelay。
  "eslint.alwaysShowStatus": true,
  // "eslint.nodePath": "c:\\Users\\suninfo\\Desktop\\project\\Q1web项目\\suninfo-web\\node_modules",//这个会防止项目打开其他项目文件时路径改变,导致eslint不会出现提示,最好将此设置为工作区中
  "eslint.run": "onType",
  "eslint.validate": [
    {
      "language": "javascript",
      "autoFix": true
    },
    "javascriptreact",
    "jsx",
    {
      "language": "html",
      "autoFix": true
    },
    {
      "language": "vue",
      "autoFix": true//这句是vue保存时修复的关键
    }
  ], //将>多行JSX元素放在最后一行的末尾,而不是单独放在下一行
  "eslint.options": {
    "extensions": [
      ".js",
      ".vue"
    ]
  },

我的用户设置:
https://blog.csdn.net/qwe435541908/article/details/100706889

你可能感兴趣的:(其他)