VSCode与Zed率先拥抱Vite+:尤玉溪赚麻了
就在最近,Vite+ 官方宣布了对 VS Code 和 Zed 两大编辑器的深度集成支持。这一动作,标志着这个由 VoidZero 团队打造的前端工具链,正在从“开发环境”向“全链路开发体验”迈出关键一步。对于长期被 ESLint + Prettier 的配置复杂性和性能瓶颈困扰的前端开发者来说,这无疑是一个值得关注的信号。
Vite+ 是什么?不只是另一个构建工具
Vite+ 常被误解为 Vite 的“升级版”或“替代品”。实际上,它的定位更底层、更宏大:一个由 Rust 驱动的、下一代 JavaScript 工具链。
它的目标是统一和替换掉现代前端开发中碎片化的工具层,包括:
- • 代码检查 (Linting):替代 ESLint
- • 代码格式化 (Formatting):替代 Prettier
- • 测试 (Testing):替代 Jest/Vitest
- • 构建 (Building):可与 Vite 等构建工具集成
其核心差异化优势在于 性能 和 一致性。通过使用编译型语言 Rust 重写核心功能(底层依赖 Oxc 和 Rust),Vite+ 避免了传统 Node.js 工具在处理大型项目时的解释执行开销和类型转换成本,带来了数量级的性能提升。
这种前端世界的大一统,就有点类似于rust里面的cargo,go里面的tool,虽然js在1995年就诞生了,但是在工具链这块始终比不上其他同时期的后端语言,比如Java的gradle。反观2000年之后出现的新语言比如go,rust,zig等在工具链的考虑和设计非常的人性化。
IDE 集成:从“命令行工具”到“编辑器原生体验”
Vite+ 对 VS Code 和 Zed 的支持,是其产品成熟度的重要体现。在此之前,Vite+ 主要是一个命令行工具:在终端里运行 vp check 进行代码检查和格式化,运行 vp test 执行测试。尽管性能优异,但 “脱离编辑器” 的工作流意味着无法获得即时反馈(如代码编写时的实时飘红、保存时的自动格式化)。
这次官方推出的 Vite Plus Extension Pack (VS Code) 和 oxc-zed 扩展 (Zed),将 Vite+ 的核心能力无缝植入了编辑器的原生体验中。
VS Code 集成:深度配置与自动化

Vite+ 在 VS Code 中的集成相当深入,远不止安装一个扩展那么简单:
- 1.
一键安装扩展包:
VoidZero.vite-plus-extension-pack包含了格式化 (Oxc) 和测试 (Vitest) 所需的核心扩展。 - 2.
自动配置
.vscode/settings.json:这是最有价值的部分。vp create或vp migrate命令会自动写入编辑器配置,例如:- 3. • 将 Oxc 设置为 JavaScript/TypeScript 的默认格式化器,并禁用 Prettier。
- 4. • 配置保存时自动格式化 (
editor.formatOnSave)。 - 5. • 配置保存时自动执行代码修复 (
source.fixAll.oxc)。 - 6. • 关键配置
oxc.fmt.configPath指向./vite.config.ts,确保了编辑器行为与 Vite+ 的fmt配置块完全一致,消灭了“本地格式化和 CI 格式化结果不同”的常见问题。
- 7.
NPM 脚本面板集成:
vp create还会将npm.scriptRunner设置为"vp"。这意味着在 VS Code 的 NPM Scripts 面板中点击运行脚本,实际会通过 Vite+ 的任务运行器执行,充分利用其性能优势。
Zed 集成:为性能而生的编辑器迎来最佳搭档
Zed 作为一款由原 Atom 团队打造、同样追求极致性能的编辑器,与 Vite+ 的“气质”十分契合。其集成方式与 VS Code 类似,通过 .zed/settings.json 配置 oxc 和 oxfmt 作为语言服务器 (LSP),为 JavaScript、TypeScript 和 Vue 提供格式化和代码操作支持,并明确禁用了 Prettier。
需要在zed的settings.json里面配置
{
"lsp": {
"oxlint": {
"initialization_options": {
"settings": {
"run": "onType",
"fixKind": "safe_fix",
"typeAware": true,
"unusedDisableDirectives": "deny"
}
}
},
"oxfmt": {
"initialization_options": {
"settings": {
"fmt.configPath": "./vite.config.ts",
"run": "onSave"
}
}
}
},
"languages": {
"JavaScript": {
"format_on_save": "on",
"prettier": { "allowed": false },
"formatter": [{ "language_server": { "name": "oxfmt" } }],
"code_action": "source.fixAll.oxc"
},
"TypeScript": {
"format_on_save": "on",
"prettier": { "allowed": false },
"formatter": [{ "language_server": { "name": "oxfmt" } }]
},
"Vue.js": {
"format_on_save": "on",
"prettier": { "allowed": false },
"formatter": [{ "language_server": { "name": "oxfmt" } }]
}
}
}

深度剖析:Vite+ 的优势与我对它的看法
1. 性能与工程化的胜利
Vite+ 的最大优势毋庸置疑是 性能。对于中小型项目,你可能感受不到 ESLint 或 Prettier 的瓶颈。但当一个单体仓库 (monorepo) 包含数百个包,或者一个组件库有成百上千个文件时,全量检查或格式化可能需要等待数秒甚至更久。Vite+ 借助 Rust 和并行处理,能将这个时间缩短到毫秒级。这种“感知不到的延迟”才是现代开发工具应有的品质。
2. 配置统一:单一事实来源
这是我认为 Vite+ 最具价值的设计哲学。传统工具链下,你需要在多个配置文件(.eslintrc.js, .prettierrc.js, vite.config.ts)间来回同步规则,比如缩进、引号、换行等。这极易导致配置漂移和团队协作中的争议。配置越多,人就越容易犯错和花样百出。
Vite+ 尝试通过 vite.config.ts 作为唯一的配置入口 来解决这个问题。这种解决风格很类似于当年Spring Boot 统一Spring时候的做法。无论是 CLI 命令、编辑器集成,还是未来的 CI 流程,都从这个同一份配置中读取规则。这大大降低了心智负担,也从根本上保证了代码风格的强一致性。
3. 对 Vue 生态的天然亲和
尽管 Vite+ 设计上可以支持 React、Svelte 等框架,但它对 Vue 生态的集成显然最为成熟。配置文件中明确提到了对 Vue.js 的支持,并且 Vite+ 本身也深度集成了 Vue 单文件组件 (SFC) 的工具链。对于 Vue 开发者而言,这意味着更为顺滑的体验。
我的看法:前景光明,但前路非坦途
Vite+ 正走在一条正确但艰难的路上。它试图统一前端工具链,这个赛道不乏失败者(如曾经的 @vue/cli-plugin-eslint 试图整合,但未能改变生态格局)。它的成功面临几个关键挑战:
- 1.
生态迁移成本:ESLint 和 Prettier 拥有海量的插件生态(如
eslint-plugin-react-hooks,prettier-plugin-tailwindcss)。Oxc 和 Vite+ 需要建立同样丰富的生态,否则大型项目就无法迁移。 - 2.
社区信任与惯性:开发者对 ESLint + Prettier 的组合已非常熟悉,配置方案和问题解决方案浩如烟海。让他们相信一个相对较新的工具能“更好”,需要时间。
- 3.
非 Vue 项目的体验:目前 Vite+ 的宣传和文档很大程度上围绕 Vue 生态。对于广阔且同样复杂的 React、Next.js 项目而言,Vite+ 是否能提供同等优秀的体验和文档支持,是决定其能否真正“破圈”的关键。
不过,Vite+ 的出现已经是一个明确的信号:前端工具链正在经历一场由 Rust 驱动的静默革命。 它的价值不仅在当下,更在于为未来的前端性能瓶颈提供了一个系统性的解决方案。
作为开发者,我建议你现在就可以在小规模项目或非核心组件库中尝试 Vite+ 的编辑器集成。亲自感受一下保存时代码瞬间格式化、没有任何延迟的体验。这不仅仅是工具的更替,更是一种开发心智的升级:将更多精力从维护工具配置上解放出来,聚焦于业务逻辑本身。
VS Code 和 Zed 率先伸出橄榄枝,只是一个开始。当更多的编辑器(如 Vim/Neovim 插件)和 CI 系统开始原生支持 Vite+ 时,我们或许真的将进入一个更少配置、更快反馈、更少Bug 的前端开发新境界。
- 点赞
- 收藏
- 关注作者
评论(0)