Oxfmt(Oxc Formatter)作为 Oxc 生态中的代码格式化工具,目标非常明确:以最快的速度,实现与 Prettier 相同的格式化效果。

在前端工程化的领域里,“速度”始终是无法绕开的核心议题。近期,尤雨溪团队正式发布了 Oxfmt Alpha 版本,这是一款基于 Rust 开发的代码格式化工具。用一句话概括:它非常快,比 Prettier 快了整整 30 倍。更重要的是,它的初衷并非要“颠覆”现有工具,而是希望无缝接替我们早已习惯的 Prettier。
什么是 Oxfmt?
Oxfmt(Oxc Formatter)是 Oxc 工具链中的格式化成员,其定位十分清晰:在不牺牲质量的前提下,以极致速度完成 Prettier 所负责的代码格式化任务。
它的两大亮点在于:
极速性能:根据最新基准测试,首次运行就比 Prettier 快 30 倍以上。
平滑迁移:它并未重新定义代码风格,而是力求复刻 Prettier 的格式化效果,目前已经兼容约 95% 的 Prettier 测试用例。
换句话说,如果你将项目中的 Prettier 替换为 Oxfmt,几乎不会察觉到代码格式的变化,却能立即感受到速度上的显著提升。
为什么会诞生 Oxfmt?
你可能会想:“已经有了 Prettier,还有了 Biome,为什么还需要它?”
因为 Oxfmt 是 Oxc 生态拼图中的最后关键一环。
Oxc 的愿景,是构建一套完整的前端工具链基础(全部基于 Rust):
•Parser:Oxc Parser(超快)
•Linter:Oxlint(已经广泛应用)
•Bundler:Rolldown(Vite 未来的新内核)
•Formatter:Oxfmt(刚刚到位)
当这四个组件整合后,从解析 → 检查 → 格式化 → 打包,都能在同一套架构下完成,不再依赖 Node.js 工具链。这对于未来的 Vite/Rolldown 项目来说,是非常关键的一步。
Oxfmt + Oxlint:天然搭档
传统的 ESLint + Prettier 组合,存在一个经典难题:两者经常“抢活”。缩进、分号这类代码风格问题本应由 Formatter 处理,但 ESLint 也能检查,导致不得不借助 eslint-config-prettier 来禁用冲突规则。
Oxc 的设计理念十分清晰:
•Oxlint:只检查逻辑错误、潜在 Bug、未使用变量
•Oxfmt:只负责代码格式化
二者职责分明,互不干扰。
将 Oxfmt 和 Oxlint 搭配使用,体验非常直观:
•Lint 的速度是毫秒级
•Format 的速度也是毫秒级
•保存文件 → Lint + Format 整套流程几乎瞬间完成
对于大型 Monorepo 项目,原来可能需要几十秒的 Lint/Format 过程,在 Oxc 生态中只需眨眼之间。这对于 CI 流程也是极大的效率提升。
那 Biome 呢?
谈到 Oxfmt 就绕不开 Biome。
Biome 是目前 Rust 工具链中最成熟的一体化方案,“装一个包,解决所有需求”。Lint、Format 功能全面,稳定度也非常高。
那么和 Oxfmt 相比,差异在哪里?

简单来说:
•如果你希望一个工具解决所有问题 → 选 Biome
•如果你想跟随 Vite / Rolldown 的发展趋势,用上更快的工具链 → 选 Oxc 家族(Oxlint + Oxfmt)
