由于打开了其他项目的文件,导致eslint的nodePath自动改变。就会导致文件中eslint错误或者警告不会提示。
解决方法:
前提是你再vscode中安装了eslint插件。
在用户设置或者工作区设置(最好在工作区中设置否则可能由于不同项目eslint包版本不同导致问题)中设置eslint.nodePath
例如,如果无法检测到已安装的ESLint包,请使用此设置/myGlobalNodePackages/node_modules。
"eslint.nodePath": "c:\\Users\\Q1web项目\\node_modules",
一般项目启动在eslint输出中可以看到路径:
重启项目,这样就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.youkuaiyun.com/qwe435541908/article/details/100706889