atom不检查jsdoc规范,需依赖eslint-plugin-jsdoc插件并正确配置plugins、rules及parser;未安装插件、未注册、未启用规则或文件未被识别为js/ts,注释即被忽略。

Atom 本身不检测注释规范,所有检查都依赖 ESLint + eslint-plugin-jsdoc 或类似插件;没配规则、没装插件、没启用对应 processor,就只会当普通文本处理,连“缺少 JSDoc”都不会报。
为什么写了 JSDoc 还是没警告?
ESLint 默认完全忽略注释内容,eslint-plugin-jsdoc 必须显式启用,且需在 .eslintrc.js 中配置 plugins 和 rules,否则注释就是透明的。
- 没装插件:
npm install eslint-plugin-jsdoc --save-dev,只装 ESLint 本体没用 - 没注册插件:配置里漏了
plugins: ["jsdoc"] - 没开规则:比如
"jsdoc/require-jsdoc": "error"没写,或写成"jsdoc/require-jsdoc": 0 - 文件没被识别为 JS/TS:右下角显示
Plain text或text.html.vue,linter-eslint直接跳过
如何让 ESLint 检查函数注释是否完整?
关键不是加插件,而是选对规则并适配项目语言。JS 和 TS 的 parser、plugin 配置不能混用,否则规则压根不触发。
- JS 项目:确保
parserOptions.ecmaVersion≥ 2015(支持 class、箭头函数等) - TS 项目:必须配
parser: "@typescript-eslint/parser"和plugins: ["@typescript-eslint", "jsdoc"] - 常用规则示例:
"jsdoc/require-jsdoc": ["error", { "publicOnly": true }]只检查导出函数 - 忽略测试文件:在
overrides里加files: ["**/*.test.js"], rules: {"jsdoc/require-jsdoc": "off"}
Vue 单文件组件里的 <script></script> 注释怎么检查?
ESLint 默认把 .vue 当 HTML 处理,<script></script> 块根本不会进 JS 解析流程——不配 processor,JSDoc 就是空气。
- 必须启用
Lint HTML Files(在linter-eslint设置页勾选) - 必须安装
eslint-plugin-vue和eslint-plugin-html -
.eslintrc.js中overrides要明确指定processor: "vue/vue",否则jsdoc/*规则不生效 - 示例片段:
overrides: [{ files: ["*.vue"], processor: "vue/vue", rules: { "jsdoc/require-jsdoc": "error" } }]
注释规范检查容易被忽略的硬性前提
所有 JSDoc 规则都建立在“代码能被正确解析”的基础上。如果 parser 报错(比如用了 as const 却没配 TS parser),ESLint 会直接放弃整块代码的规则检查,包括注释。
- 先确认控制台有没有
Failed to load parser或Cannot read property 'visitNode' of undefined - 检查当前文件 grammar 是否为
source.js或source.ts(Ctrl+Shift+P →Grammar: Show Grammar) - 禁用所有非必要 linter 插件(如
linter-tslint),避免 parser 冲突 -
jsdoc/check-alignment等格式类规则对缩进敏感,若文件缩进混乱(空格/Tab 混用),可能批量误报











