辅助操作
Biome Assist 提供了一系列旨在提升代码质量并改善开发者体验的操作。
与 Linter 规则不同,辅助操作始终附带代码修复功能。它们可用于对属性或字段进行排序、简化二元表达式、执行重构等操作。辅助操作的目的不是捕捉错误或强制某种编码风格。目前共有 4 个辅助操作 可用。
辅助代码修复通常是安全的。如果某个辅助修复导致代码异常,我们会视其为缺陷,并欢迎你提交问题反馈。
辅助操作最适合在编辑器和 IDE 中使用。不过,也可以通过 CLI 强制执行这些操作。从语义上来看,辅助操作非常接近 LSP 代码操作 ,并且它们被划分为 多个分组。
Biome 的辅助功能默认启用,并且部分规则已包含在推荐规则集中。以下是一个启用 useSortedKeys
操作的示例配置:
{ "assist": { "enabled": true, "actions": { "source": { "useSortedKeys": "on" } } }}
在你的 IDE 中使用辅助操作
Section titled “在你的 IDE 中使用辅助操作”如果你使用的是一款兼容 LSP 的 IDE,你可以配置 Biome 在保存文件时自动执行特定的辅助操作。每个辅助操作都有一个对应的“代码操作”名称。大多数操作遵循相同的命名模式,但也有例外情况(例如 organizeImports
)。有关具体名称,请查阅每项操作的文档页面。
首先,你需要配置编辑器,在保存时自动应用所有修复。不同的编辑器配置方式略有不同。Biome 使用的通用代码操作名为 source.fixAll.biome
:
{ "editor.codeActionsOnSave": { "source.fixAll.biome": "explicit", }}
{ "code_actions_on_format": { "source.fixAll.biome": true, }}
source.fixAll.biome
接着,你还可以添加特定操作的代码操作。以 useSortedKeys
操作为例,它对应的代码操作名为 source.action.useSortedKeys.biome
。如果你使用的是 VSCode,可以将该代码操作添加到 editor.codeActionsOnSave
配置中,这样 Biome 就会在你保存文件时自动应用该修复:
{ "editor.codeActionsOnSave": { "source.action.useSortedKeys.biome": "explicit", "source.fixAll.biome": "explicit" }}
{ "code_actions_on_format": { "source.action.useSortedKeys.biome": true, "source.fixAll.biome": true }}
source.action.useSortedKeys.biome
通过 CLI 执行辅助操作
Section titled “通过 CLI 执行辅助操作”你也可以通过 CLI 使用 check
命令来触发辅助操作:
npx @biomejs/biome check
pnpm exec biome check
bunx --bun biome check
deno run -A npm:@biomejs/biome check
yarn exec biome check
不过,check
命令主要用于同时运行多个工具。如果你只想运行辅助操作,建议禁用 Formatter 和 Linter:
npx @biomejs/biome check --formatter-enabled=false --linter-enabled=false
pnpm exec biome check --formatter-enabled=false --linter-enabled=false
bunx --bun biome check --formatter-enabled=false --linter-enabled=false
deno run -A npm:@biomejs/biome check --formatter-enabled=false --linter-enabled=false
yarn exec biome check --formatter-enabled=false --linter-enabled=false
禁用辅助操作
Section titled “禁用辅助操作”如需临时禁用某些辅助操作,请参考 禁用检查注解 页面。
Sources
Section titled “Sources”“Sources”分组中的操作通常都是安全的,可以在保存文件时自动执行。这些操作一般不会影响程序的功能。