将 sbt 用作 Metals 构建服务器

目标

我想在 VS Code 上使用 Metals,并以 sbt 作为构建服务器。

步骤

要在 VS Code 上使用 Metals:

  1. 在扩展视图安装 Metals:
    Metals
  2. 打开包含 build.sbt 文件的目录。
  3. 在菜单栏选择 查看 > 命令面板…(在 macOS 上为 Cmd-Shift-P),执行 "Metals: Switch build server",并选择 "sbt"
    Metals
  4. 导入完成后,打开 Scala 文件以确认代码补全可用:
    Metals

使用以下设置可使部分子项目不参与 BSP。

bspEnabled := false

修改代码并保存(在 macOS 上为 Cmd-S)时,Metals 会调用 sbt 执行实际构建。

登录 sbt 会话

在 Metals 以 sbt 作为构建服务器时,您还可以通过瘦客户端登录同一 sbt 会话。

  • 在终端面板中输入 sbt --client
    Metals

这样可登录 Metals 已启动的 sbt 会话。在其中可调用 testOnly 等任务,且代码已编译。