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

Next.js中ESLint的brace-style规则未对保存自动格式化生效如何解决

问题原因

你遇到的问题本质是格式化工具优先级冲突:ESLint仅负责代码规范校验与规则修复,但如果你的开发环境同时启用了其他格式化工具(最常见为Prettier),且该工具的规则优先级高于ESLint自动修复,就会出现ESLint报错但保存后被其他工具覆写为不符合规则格式的情况。

解决方案

场景1:不使用Prettier,仅用ESLint做代码格式化

直接在编辑器(以VSCode为例)的settings.json中调整配置,指定ESLint为默认格式化器并开启保存自动修复:

{
  // 关闭Prettier的启用开关(如果装了Prettier插件)
  "prettier.enable": false,
  // 指定默认格式化器为ESLint
  "editor.defaultFormatter": "dbaeumer.vscode-eslint",
  // 开启保存时自动执行ESLint修复
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  }
}

场景2:需要同时使用Prettier做格式化

Prettier原生不支持stroustrup风格的大括号换行规则,需要额外安装适配插件,同时调整ESLint和Prettier的配置避免规则冲突:

  1. 安装依赖包
npm install prettier-plugin-brace-style eslint-config-prettier --save-dev
  1. 修改ESLint配置(.eslintrc),添加Prettier兼容配置,关闭两者冲突的规则:
{
  "extends": ["next", "next/core-web-vitals", "prettier"],
  "rules": {
    "brace-style": ["error", "stroustrup"]
  }
}
  1. 新增/修改Prettier配置文件(如.prettierrc),配置大括号风格为stroustrup:
{
  "plugins": ["prettier-plugin-brace-style"],
  "braceStyle": "stroustrup"
}

配置完成后重启编辑器即可生效,保存时代码会遵循stroustrup风格自动格式化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:57:01