IntelliJ IDEA中standard.js Linting功能失效问题求助
解决IntelliJ IDEA中standard.js Linting不生效的问题
嘿,我之前也踩过standard.js在IDEA里不生效的坑,给你整理几个实用的排查和解决步骤,亲测有效:
第一步:先确认standard.js真的装对了
- 打开项目根目录的终端,敲
npm list standard(用yarn的话就敲yarn list standard),看看这个包是不是确实装在项目本地的node_modules里——全局安装的话IDE大概率识别不到。 - 如果输出显示没安装,赶紧重新跑
npm install standard --save-dev(或者yarn add standard --dev),确保它出现在package.json的devDependencies里。
第二步:把IDE的ESLint配置和standard关联上
standard.js其实是套封装好的ESLint规则,所以得让IDEA的ESLint插件认出它:
- 打开IDEA设置(快捷键Ctrl+Alt+S,Mac是Cmd+,),找到
Languages & Frameworks > JavaScript > Code Quality Tools > ESLint - 先把Enable的勾选框打上,这是基础前提
- 在ESLint package下拉菜单里,选你项目本地的
eslint包(路径一般是node_modules/eslint,standard会自动带这个依赖) - 关键操作:在
package.json里加一段配置,帮IDE识别standard的规则,不用单独建.eslintrc文件:"eslintConfig": { "extends": ["standard"] }
第三步:给IDE“重启刷新”一下
IDE有时候会缓存旧的依赖信息,导致新安装的包不被识别:
- 最简单的办法就是直接关掉IDEA再重新打开项目
- 要是还不行,就用
File > Invalidate Caches... > Invalidate and Restart,强制清空缓存重启,这招对很多依赖识别问题都管用
第四步:验证Linting是否真的生效
- 故意写一段违反standard规范的代码试试,比如:
var foo = 'bar'; // standard要求用let/const,而且行尾不能加分号 - 如果还是没提示,去检查Inspections设置:打开设置,找到
Editor > Inspections > JavaScript > Code quality tools > ESLint,确保这个检查项是勾选的,而且严重级别至少设成Warning,这样编辑器才会显示提示。
额外的排查小细节
- 看看项目根目录的
.gitignore或者IDE的exclude设置,别把node_modules排除在IDE索引之外了,不然IDE找不到依赖包 - 要是你用的是monorepo结构,得确保standard装在对应的子项目根目录里,或者在ESLint配置里指定正确的子项目路径
内容的提问来源于stack exchange,提问作者jwBurnside
相关产品推荐
相关产品推荐

