biome能直接替代prettier+eslint,但必须彻底禁用eslint插件、卸载prettier插件、删除eslint配置,否则格式化会反复跳动或静默失效;最常见失效原因是项目根目录缺失biome.jsonc配置文件,导致插件不加载、状态栏无显示、保存无反应。

Biome 能直接替代 Prettier + ESLint,但必须关掉 ESLint 插件、删掉所有 ESLint 配置、禁用 Prettier 插件,否则格式化会反复跳动甚至静默失效。
VSCode 安装 Biome 插件后为什么没反应
最常见原因是:插件装了,但项目根目录没有 biome.jsonc(或 biome.json),Biome 就完全不启动——状态栏不显示、保存不格式化、也不报错,用户误以为“插件坏了”。
- 配置文件必须放在 VSCode 工作区的**根目录**,
src/biome.jsonc或.vscode/biome.jsonc均无效 - 首次打开项目时,Biome 会下载并加载 Rust 编译的二进制,可能卡顿 2–5 秒,别急着重装
- 检查 VSCode 右下角状态栏:出现
Biome字样才表示已就绪;没出现=没加载成功
保存时代码没走 Biome 格式化,还是被 ESLint 或 Prettier 抢了
VSCode 默认按语言关联格式化器,只要 eslint 或 prettier-vscode 插件开着,它们就会拦截 Format Document 请求,Biome 根本没机会执行。
- 彻底禁用 ESLint 插件(不是“禁用工作区”,是点击插件面板右键 → “禁用”)
- 卸载或禁用
esbenp.prettier-vscode—— Biome 不兼容 Prettier 的格式化管道 - 在项目级
.vscode/settings.json中显式指定:"editor.defaultFormatter": "biome.biome" - 确认
biome.jsonc中启用了 formatter:"formatter": { "enabled": true },且没被overrides关闭
biome.jsonc 最小可用配置长什么样
Biome 开箱即用,不需要写一堆规则。一个能跑通格式化+检查的最小配置只需三块:
{
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
"formatter": {
"enabled": true,
"lineWidth": 80,
"indentWidth": 2
},
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
}
}
-
lineWidth和indentWidth是可选的,不写就用默认值(80 / 2) - 不要加
"@typescript-eslint/*"或"eslint-plugin-react"这类 ESLint 插件规则 —— Biome 没有这些概念 - Vue 项目目前支持有限(截至 2026 年 5 月),
.vue单文件中的<script></script>块可检查,但<template></template>支持不稳定,别强求
npx biome check 和 VSCode 格式化行为不一致
命令行和编辑器的行为差异通常来自路径范围和配置作用域不同:
-
npx biome check .扫描整个项目目录,而 VSCode 只对当前打开的文件生效 - VSCode 读取的是工作区根目录的
biome.jsonc;如果用多根工作区,每个文件夹需各自有配置 - 某些规则(如
useConsole)在 Biome 中默认关闭,而 ESLint 的no-console默认开启 —— 别拿 ESLint 的报错预期去验证 Biome - 运行
npx biome ci .才是最接近 CI 环境的全量检查,比单独check或format更严格
最容易被忽略的点:Biome 的规则命名和语义跟 ESLint 完全不同,比如 eqeqeq 对应 useStrictEquality,no-unused-vars 对应 noUnusedVariables。照着 ESLint 名字去搜 Biome 文档,大概率找不到。











