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

如何禁用自动添加多余括号的ESLint/Prettier规则?

如何移除自动添加的多余括号?

我编写了以下代码:

const a = 1;
const b = 1;
const c = 1;
const d = 1;

const t = a * b * (c + d) / 100;

但某条规则自动将其修改为:

const t = (a * b * (c + d)) / 100;
//        ^               ^ 多余的括号

我不希望出现这些多余括号,但无法确定是ESLint还是Prettier添加的。我的.eslintrc配置如下:

{
  "root": true,
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "project": ["./tsconfig.json"]
  },
  "plugins": ["@typescript-eslint", "prettier"],
  "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"],
  "rules": {
    "no-console": 1,
    "prettier/prettier": 2,
    "no-case-declarations": 0,
    "no-extra-parens": 2,
    "@typescript-eslint/no-extra-parens": 2
  },
  "env": {
    "browser": true,
    "node": true
  }
}

更新:未添加括号时,鼠标悬停提示指向@typescript-eslint/no-extra-parens规则。

解决方案

  • 问题根源是你开启了@typescript-eslint/no-extra-parens规则(配置中设为2,即错误级别),该规则会强制为表达式添加括号以“明确优先级”,但在这个场景下属于多余括号。
  • 修改.eslintrc的rules部分,将该规则关闭:
"rules": {
  "no-console": 1,
  "prettier/prettier": 2,
  "no-case-declarations": 0,
  "no-extra-parens": 0, // 同时关闭原生ESLint的同名规则,避免冲突
  "@typescript-eslint/no-extra-parens": 0
}
  • Prettier默认不会在这种场景下添加多余括号,所以无需调整Prettier配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 15:09:21