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

如何防止Prettier移除ESLint StandardJS注释并避免拆分其特殊注释?

嘿,这两个和Prettier、StandardJS配合的问题我之前也踩过坑,给你分享下实用的解决办法!

1. 阻止Prettier移除ESLint StandardJS注释

Prettier默认不会主动移除ESLint/StandardJS的规则注释,但有时候会因为格式化逻辑导致注释被误处理或者看起来"消失"(比如被换行到奇怪的位置)。你可以用这两种方式解决:

  • 精准忽略单条注释:在需要保留的注释上方添加// prettier-ignore标记,让Prettier跳过对这个注释的格式化处理:
    // prettier-ignore
    /* eslint-disable no-unused-vars */
    const unusedVar = 123;
    
  • 全局配置兼容:确保你的Prettier和StandardJS集成正确,安装eslint-config-prettier和eslint-plugin-prettier来统一规则,避免两者冲突导致注释被意外处理。如果是因为换行触发的问题,也可以在.prettierrc里调整printWidth为更大的值,让注释能在一行容纳。

2. 防止Prettier将特定类注释拆分为多行

针对你提到的那句长注释,有两个灵活的处理方式:

  • 单条注释忽略:在注释所在行的上一行加// prettier-ignore,强制Prettier保留注释的单行格式:
    // prettier-ignore
    /** That can not be broken down to the next line - even with long ClassNames. */
    class LongClassNameThatWouldNormallyWrapTheComment {
      // 类内容
    }
    
  • 全局调整换行阈值:如果不想每次都加忽略标记,可以在.prettierrc里把printWidth设置得足够大(比如printWidth: 180,根据你的注释长度调整),这样Prettier就不会自动将这条长注释拆分成多行。不过这是全局设置,会影响所有代码的换行逻辑,适合需要大量保留长单行注释的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:16:15