发布时间:2025-06-18
浏览次数:0
将 项目迁移到
和,在长时间的使用中,始终是维持生态系统代码统一与品质的关键手段。它们已经演变成为遍布全球项目工具链中的核心要素。
然而,一个新的竞争者已经崭露头角。这个项目怀揣着雄心壮志,意图将两种功能融合,打造出一个高效率的代码格式化与静态分析一体化的解决方案。
整合这些功能后,Biome力求简化操作流程,减少配置的复杂性,并且大幅提高工作效率,因此它将自己定位为新一代的工具链。
本文将向您介绍一个项目,详细阐述其配置方法,同时协助您评估是否适宜将资源从原有的系统和平台迁移至该项目。
什么是 Biome?
起初,它源自一个已不再更新的Rome项目分支,然而,如今它已经演变成为一个独立的工具链,主要致力于打造一个快速集成的开发体验。
目前为 开发者提供两大核心功能:
类 的代码格式化工具
受 启发的强大静态检查工具
将各类工具融合成一个综合解决方案后,Biome显著降低了开发者面对的复杂配置需求,从而赋予了他们更为流畅的开发体验。
该工具基于先进的架构理念设计,并运用 Rust 编程语言实现了多线程优化,从而显著提升了其运行效率,其速度相较于上一代工具提升了整整一个数量级。
这并非仅仅是一种替代策略,它实际上对开发工作流程进行了显著的改进与简化。
与 的对比
Biome的格式化工具与某工具相似,只提供了有限的配置选择。其生成的输出与后者基本相容,尽管存在一些细微的差别。然而,由于采用了Rust编程语言和多线程的架构设计,其格式化速度大约提升了25倍。
尽管Biome具备多语言功能,然而其语言支持的范围依旧不够广泛。值得注意的是,HTML以及SCSS等语言尚未得到支持,而且对Vue、Astro等框架的兼容性也尚未得到充分完善。
与 的对比( 场景)
Biome的众多静态检查规范源自于其他知名工具,并按照不同类别进行整理。与某些工具相似,这些规范具有高度的灵活性,用户可以选择禁用特定规则,或者仅激活部分规则集。
您有权自行设定处理规则,挑选触发警告或错误提示,并决定是否启用自动修正功能。
{
"linter":{
"rules":{
"correctness":{
"noUnusedVariables":{
"level":"error",
"fix":"none"
}
},
"style":{
"useConst":{
"level":"warn",
"fix":"unsafe"
}
}
}
}
}
Biome的静态检查器能够兼容除/以外的多种编程语言sublime text 3 css format,其中包括源自 -- 的CSS验证规则。关于详细的规则清单,请查阅Biome的相关文档。
在性能上,Biome 的表现相较于其他产品提升了超过15倍,这一显著优势主要归功于其采用基于Rust语言的多线程架构设计。
开始使用 Biome
即便Biome本身不采用该机制,然而其执行文件仍可通过NPM仓库进行分发,并且能够通过常规的包管理工具进行安装。
安装@biomejs/biome包,并指定为开发依赖和精确版本依赖,使用npm命令行工具执行。
安装后通过以下命令验证:
使用npx命令运行biome工具,查看其版本信息,结果显示为:1.9.2。
Biome 无需配置文件即可立即使用。
以下示例代码可供测试:
// index.js
function sayHello(name){if(name){console.log("Hello, "+name+"!");}else{console.log("Hello, World!");}}let person="John";sayHello(person);
格式化代码
使用 命令进行格式化:
npx biome format index.js
以 dry-run 模式进行默认执行,屏幕上将呈现修改的提议(其中红色代表原始代码,绿色则展示修改后的版本):
格式化命令 dry-run 模式截图
确认修改后使用 --write 标志应用:
使用npx命令,以biome格式执行写入操作,生成index.js文件。
输出确认信息:
成功处理了一份文档,耗时840微秒。纠正了一个文档中的问题。
静态检查
使用 lint 命令进行检查:
npx biome lint index.js
若存在代码问题,输出如下:
静态检查结果截图
问题被划分为三个不同级别:信息级(info)、警告级(warn)以及错误级(error)。当lint命令遭遇错误级问题,它将输出非零的退出状态码。用户可以通过设置--error-on-标志,将原本的警告级问题视作错误级问题处理。
使用npx命令执行biome lint命令,并对警告信息进行错误处理。
提供详尽的问题描述和解决策略。针对每个问题,标明相应的文件名、行数、违反的规则和具体违规情况。可修正的问题将以绿色字体呈现相应的建议方案。
Biome 提供两类修复方案:
安全修复:保证不改变代码语义
非安全修复:可能改变程序语义
仅应用安全修复:
npx biome lint --write <文件或目录路径>
应用非安全修复需添加 -- 标志:
使用npx命令执行biome lint工具,同时开启写入模式和允许不安全操作的功能。<文件或目录路径>
整合操作
通过 check 命令一步完成格式化和检查:
npx biome check <文件或目录路径>
或包含修复操作:
使用npx命令执行biome检查操作,同时开启写入模式,并允许执行不安全的操作。<文件或目录路径>
编辑器集成
Biome能够与代码编辑器实现深度结合,提供实时静态检查的反馈功能,并在保存文件时自动进行格式化处理。
目前支持VS Code和Zed的官方插件,同时还有Vim和Text等第三方插件的扩展。本节将以VS Code作为实例进行讲解。
VS Code 官方扩展截图
安装扩展后,支持文件中即时显示问题:
VS Code 静态检查提示截图
保存配置时自动进行修正:请按住CTRL键和SHIFT键,同时点击P键(在macOS系统中,请使用CMD键加SHIFT键加P键)来激活命令面板,接着在搜索栏中输入“User”,然后选择“打开User配置文件(JSON)”。
用户设置选项截图
在 .json 中添加:
{
"editor.codeActionsOnSave": {
"quickfix.biome": "explicit"
}
}
在保存过程中,该配置将自动执行安全修复操作。若需进行非安全修复,则必须手动通过命令行或操作代码菜单来进行。
代码操作菜单截图
启用保存时自动格式化:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "biomejs.biome"
}
若需针对特定文件类型配置:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "prettier",
"[javascript]": {
"editor.defaultFormatter": "biomejs.biome"
}
}
此配置默认使用 ,仅 文件使用 Biome。
格式化后代码截图项目配置
您可以通过命令行界面选项sublime text 3 css format,或者项目根目录下的biome.json文件来设置Biome。这种配置方式能够支持向上搜索至文件系统的最顶层,这对于大型项目或复杂的管理来说尤为方便。
使用 init 命令生成默认配置:
npx biome init
生成内容示例:
{
"$schema":该链接指向的是"https://biomejs.dev/schemas/1.9.2/schema.json",这是版本1.9.2的schema文件。,
"vcs":{
"enabled":false,
"clientKind":"git",
"useIgnoreFile":false
},
"files":{
"ignoreUnknown":false,
"ignore":[]
},
"formatter":{
"enabled":true,
"indentStyle":"tab"
},
"organizeImports":{
"enabled":true
},
"linter":{
"enabled":true,
"rules":{
"recommended":true
}
},
"javascript":{
"formatter":{
"quoteStyle":"double"
}
}
}
使用 --jsonc 生成支持注释的配置:
npx biome init --jsonc
配置说明:
完整配置选项参考官方文档。
迁移现有配置
Biome 提供 命令转换现有 / 配置:
biome migrate eslint --write
生物群落迁移,更加美观;写入操作,即刻执行。
详细指南参考迁移文档。
忽略规则
通过注释忽略特定代码:
忽略格式化:
// biome-ignore format: 说明文字
function sayHello(name){if(name){console.log("Hello, "+name+"!");}else{console.log("Hello, World!");}}
忽略静态检查:
// biome-ignore lint: 说明文字
在代码中,我们应避免使用const关键字,而应倾向于使用let。这样做可以更好地反映变量可能被修改的事实。同时,这也符合一些编程规范和最佳实践。
let person = "John";
console.log(person);
配置文件忽略:
{
"files":{
"include":["src/**/*.js","src/**/*.ts"],
"ignore":["**/*.min.js"]
},
"linter":{
"ignore":["**/dist/*"]
},
"formatter":{
"ignore":["bundle.js"]
}
}
集成到现有项目
全量修复建议单独提交,或仅处理上次提交后的变更:
{
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true,
"defaultBranch": "main"
}
}
使用 -- 选项处理变更文件:
npx biome check --changed
预提交钩子
自v1.7.0版本起,新增功能支持处理临时存储的文件,并且无需执行lint-命令。
npx biome check --staged
添加 .json 脚本:
{
"scripts": {
"lint:staged": 执行生物群落检查,遇到警告时显示错误,对于不匹配的文件不显示错误,针对暂存目录下的所有.js和.ts文件进行操作。
}
}
配置 husky 钩子:
# .husky/pre-commit
npm run lint:staged
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码