Biome 不能与 ESLint 共存,需彻底禁用 ESLint 插件并卸载 Prettier;VSCode 中安装官方 Biome 插件后,必须在项目根目录放置 biome.json(c) 配置文件且启用 formatter,否则静默失效。

Biome 能完全替代 ESLint,但必须关掉 ESLint 插件、禁用其自动修复,否则两者打架——格式化会反复来回、保存时卡顿、报错位置错乱。
VSCode 里怎么装 Biome 插件并启用校验
直接在扩展市场搜 Biome,安装官方发布的 Biome 插件(发布者是 Biome),别选第三方仿制版。装完默认就启用语法检查和格式化,但前提是项目根目录有 biome.json 或 biome.jsonc 配置文件。
- 没配置文件?插件会静默不工作,VSCode 底部状态栏不会显示
Biome,也不会报错——这是最常被误以为“没生效”的原因 - 配置文件必须放在工作区根目录,
src/biome.json这种路径无效 - 首次打开项目时,VSCode 可能需要几秒加载 Biome 二进制(它自带 Rust 编译的 CLI),别急着关掉弹窗或重装
为什么保存后代码没自动格式化,或者格式化了但没走 Biome 规则
VSCode 默认优先使用 ESLint 的格式化能力,即使你装了 Biome 插件,只要 eslint 插件开着、且项目里有 .eslintrc,它就会抢走 Format Document 的控制权。
- 关掉
ESLint插件(不是禁用 workspace,是彻底停用) - 检查设置里是否手动设了
"editor.defaultFormatter": "dbaeumer.vscode-eslint",删掉或改成"editor.defaultFormatter": "biome.biome" - 确认
biome.jsonc里开启了格式化:确保有"formatter": { "enabled": true },且没有被"overrides"里的规则意外关掉 - 如果用了 Prettier,必须卸载或禁用
esbenp.prettier-vscode,Biome 不兼容 Prettier 的格式化管道
Biome 报错但 ESLint 不报,或者相反:规则对不上怎么办
Biome 的规则集和 ESLint 不同源,比如 no-console 在 Biome 里叫 useConsole,且默认是关闭的;eqeqeq 对应 useStrictEquality,但行为细节(如 null 比较处理)也不一样。
- 别直接复制 ESLint 的规则名到 Biome 配置里——会报
Unknown rule - 查官方规则列表用
biome ls-rules(需 CLI 安装)或访问https://biomejs.dev/linter/rules/ - 想保留部分 ESLint 规则?只能手动映射,Biome 不支持读取
.eslintrc,也没有eslint-plugin-import这类生态插件 - TS 类型检查仍依赖 TypeScript Server,Biome 的
lint不做类型校验,所以any相关错误可能消失——这不是漏报,是设计如此
Windows 下启动慢、保存卡顿、状态栏一直显示 “Starting Biome…”
这是 Biome CLI 二进制首次加载或更新后的常见现象,尤其在 WSL2 或远程开发场景下更明显,本质是 Rust 二进制初始化 + 语言服务器握手耗时。
- 不要反复重启 VSCode,等 10–20 秒,状态栏变
Biome (ready)后就正常了 - 确认没在
settings.json里错误配置"biome.path"指向一个不存在或权限不足的路径 - 如果用 pnpm/yarn,确保
node_modules/.bin/biome可执行;用 npm 可能因权限问题找不到 CLI,建议全局装一次:npm install -g @biomejs/biome - 大型单页项目(如含 500+ TS 文件)首次全量 lint 可能卡住,可先在
biome.jsonc中临时加"files": ["src/**/*.{ts,tsx}"]限定范围
Biome 的配置粒度比 ESLint 细,但容错更低——少一个逗号、多一个字段、路径写错一级,它就静默失效,不会像 ESLint 那样给友好的提示。调配置时,盯着 VSCode 底部状态栏的 Biome 文字和输出面板里的 Biome Language Server 日志,比看文档更快定位问题。


















