你好,欢迎进入江苏优软数字科技有限公司官网!

诚信、勤奋、创新、卓越

友好定价、专业客服支持、正版软件一站式服务提供

13262879759

工作日:9:00-22:00

sublime text 3 css format JavaScript项目迁移新选择?BiomeJS整合功能或成下一代工具链

发布时间:2025-06-18

浏览次数:0

sublime text 3 css format_JavaScript项目迁移BiomeJS _ BiomeJS与Prettier对比

将 项目迁移到

和,在长时间的使用中,始终是维持生态系统代码统一与品质的关键手段。它们已经演变成为遍布全球项目工具链中的核心要素。

然而,一个新的竞争者已经崭露头角。这个项目怀揣着雄心壮志,意图将两种功能融合,打造出一个高效率的代码格式化与静态分析一体化的解决方案。

整合这些功能后,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 模式进行默认执行,屏幕上将呈现修改的提议(其中红色代表原始代码,绿色则展示修改后的版本):

JavaScript项目迁移BiomeJS _sublime text 3 css format_ BiomeJS与Prettier对比

格式化命令 dry-run 模式截图

确认修改后使用 --write 标志应用:

使用npx命令,以biome格式执行写入操作,生成index.js文件。

输出确认信息:

成功处理了一份文档,耗时840微秒。纠正了一个文档中的问题。

静态检查

使用 lint 命令进行检查:

npx biome lint index.js

若存在代码问题,输出如下:

 BiomeJS与Prettier对比 _JavaScript项目迁移BiomeJS _sublime text 3 css format

静态检查结果截图

问题被划分为三个不同级别:信息级(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作为实例进行讲解。

JavaScript项目迁移BiomeJS _ BiomeJS与Prettier对比 _sublime text 3 css format

VS Code 官方扩展截图

安装扩展后,支持文件中即时显示问题:

sublime text 3 css format_JavaScript项目迁移BiomeJS _ BiomeJS与Prettier对比

VS Code 静态检查提示截图

保存配置时自动进行修正:请按住CTRL键和SHIFT键,同时点击P键(在macOS系统中,请使用CMD键加SHIFT键加P键)来激活命令面板,接着在搜索栏中输入“User”,然后选择“打开User配置文件(JSON)”。

sublime text 3 css format_ BiomeJS与Prettier对比 _JavaScript项目迁移BiomeJS

用户设置选项截图

在 .json 中添加:

{
  "editor.codeActionsOnSave": {
    "quickfix.biome": "explicit"
  }
}

在保存过程中,该配置将自动执行安全修复操作。若需进行非安全修复,则必须手动通过命令行或操作代码菜单来进行。

 BiomeJS与Prettier对比 _JavaScript项目迁移BiomeJS _sublime text 3 css format

代码操作菜单截图

启用保存时自动格式化:

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "biomejs.biome"
}

若需针对特定文件类型配置:

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "prettier",
  "[javascript]": {
    "editor.defaultFormatter": "biomejs.biome"
  }
}

此配置默认使用 ,仅 文件使用 Biome。

 BiomeJS与Prettier对比 _sublime text 3 css format_JavaScript项目迁移BiomeJS

格式化后代码截图项目配置

您可以通过命令行界面选项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

如有侵权请联系删除!

13262879759

微信二维码