跳转到内容

在编辑器扩展中集成 Biome

Biome 对 LSP 提供一流的支持。如果你的编辑器实现了 LSP,那么 Biome 的集成应该是无缝的。

Biome 有一个名为 lsp-proxy 的命令。当执行时,Biome 将启动两个进程:

  • 一个守护进程,用于执行请求的操作;
  • 一个服务器,充当客户端 - 编辑器 - 和服务器 - 守护程序的请求之间的代理;

如果你的编辑器能够与服务器交互并发送 JSON-RPC 请求,你只需要配置编辑器运行该命令。

你可以参考 neo-vim biome 扩展 的实现方式。

如果你的编辑器不支持 LSP,你可以直接使用 biome 二进制文件,并通过标准输入调用它。

以下命令可以通过标准输入调用:

Biome 会将新的输出(如果没有发生更改则为原始输出)返回到标准输出,并将诊断信息返回到标准错误

当使用 stdin 时,你必须传递 --stdin-file-path 选项。文件路径不需要实际存在于你的文件系统中,可以是任何名称。重要的是提供正确的文件扩展名,这样 Biome 就知道如何处理你的文件。

编辑器负责定位和解析二进制文件的路径,并在需要时调用它。二进制文件根据我们支持的架构和操作系统发布到 npm:

  • @biomejs/cli-darwin-arm64
  • @biomejs/cli-darwin-x64
  • @biomejs/cli-linux-arm64
  • @biomejs/cli-linux-x64
  • @biomejs/cli-win32-arm64
  • @biomejs/cli-win32-x64

二进制文件名是 biomebiome.exe,可以在库的根目录中找到,例如:@biomejs/cli-darwin-arm64/biome@biomejs/cli-win32-x64/biome.exe

通过二进制文件使用守护进程

Section titled 通过二进制文件使用守护进程

通过 CLI 使用二进制文件非常高效,但你无法为用户提供日志。CLI 允许你引导守护进程,然后通过守护进程本身使用 CLI 命令。

要实现这一点,你首先需要使用 start 命令启动守护进程:

Terminal window
biome start

然后,每个命令都需要添加 --use-server 选项,例如:

Terminal window
echo "console.log('')" | biome format --use-server --stdin-file-path=dummy.js

Biome 守护进程在你的文件系统中保存日志。日志存储在名为 biome-logs 的文件夹中。该文件夹的路径根据你的操作系统而变化:

  • Linux:~/.cache/biome
  • Windows:C:\Users\<UserName>\AppData\Local\biomejs\biome\cache
  • macOS:/Users/<UserName>/Library/Caches/dev.biomejs.biome

对于其他操作系统,你可以在系统的临时目录中找到该文件夹。

要获取确切的路径,执行以下命令:

Terminal window
biome explain daemon-logs

日志文件每小时轮换一次。