You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置ESLint规则区分普通块注释与JSDoc注释的换行要求

解决方案

要实现普通块注释/* ... */前后必须换行,JSDoc注释/** ... */仅需前置换行的需求,只需调整lines-around-comment规则的正则匹配逻辑,具体配置如下:

修改lines-around-comment规则

把你现有配置里的lines-around-comment替换成下面的内容:

"lines-around-comment": [
  "warn",
  {
    "beforeBlockComment": true,
    "afterBlockComment": true,
    "ignorePattern": "^\\*\\*",
    "ignoreComments": false
  }
]

配置逻辑说明

  • beforeBlockComment: true:强制所有块注释(不管是普通注释还是JSDoc)前面必须有换行
  • afterBlockComment: true:默认要求块注释后面加换行,但通过ignorePattern让JSDoc注释跳过这个检查
  • ignorePattern: "^\\*\\*":精准匹配JSDoc注释里开头的**(也就是/**内部的起始部分),这样ESLint就不会检查这类注释后面的换行要求
  • ignoreComments: false:保证规则不会完全忽略匹配到的JSDoc注释,只是跳过它的后置换行检查

完整配置片段(核心部分)

结合你已有的spaced-comment配置,最终规则里的相关部分如下:

"rules": {
  // 其他原有规则保持不变
  "lines-around-comment": [
    "warn",
    {
      "beforeBlockComment": true,
      "afterBlockComment": true,
      "ignorePattern": "^\\*\\*",
      "ignoreComments": false
    }
  ],
  "spaced-comment": [
    "error",
    "always",
    {
      "exceptions": ["*"]
    }
  ]
  // 其他原有规则保持不变
}

效果验证

配置完成后,你的目标注释格式会被正确校验:

  • 普通块注释/* ... */前后必须有换行,否则会触发警告
  • JSDoc注释/** ... */只需要前面有换行,后面直接跟代码(比如变量或函数定义)不会触发任何警告

内容的提问来源于stack exchange,提问作者AaronK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 09:45:27