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

ESLint与Prettier多行类定义缩进冲突该如何解决?

解决Prettier与ESLint在类定义换行缩进上的冲突

问题场景

当类定义过长无法单行显示时,Prettier会在换行后的implements语句前添加缩进(此格式符合预期),但ESLint会抛出indent错误,且找不到可调整ESLint该行为的配置项,导致两者格式判断不一致,形成循环冲突。

Prettier格式化结果(ESLint报错)

// ESLint throws an error
export default class FormFieldTemplateCheckboxList
    implements ClassComponent<FormFieldTemplateCheckboxListProps> {}

ESLint期望格式(Prettier保存时会自动覆盖)

// Prettier formats to the above on save
export default class FormFieldTemplateCheckboxList
implements ClassComponent<FormFieldTemplateCheckboxListProps> {}

修复方案

使用eslint-config-prettier插件,并移除ESLint配置中的indent规则:

原.eslintrc.json中的规则:

"rules": {
    "indent": ["error", "tab", { "SwitchCase": 1 }]
}

修改后让Prettier全权控制缩进规则,即可消除两者的冲突,不再报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:16:05