vscode 搭配 Metals 是当前最主流、体验最流畅的 scala 开发组合,可提供接近 IntelliJ 的补全、跳转、重构与调试能力,且轻量开源、响应快;需先配置 java 17、sbt 1.8+ 及 build.sbt,再安装官方 Metals 插件并导入构建,配合关键 settings.json 配置与日常快捷键即可高效开发。

VSCode 搭配 Metals 是目前 Scala 开发最主流、体验最流畅的组合。配置得当,就能获得和 IntelliJ 相近的代码补全、跳转、重构与调试能力,关键是轻量、开源、响应快。
安装前提:确保基础环境就绪
Metals 依赖 Java 和构建工具(如 sbt 或 Bloop),不是装上插件就能用:
- Java 11 或 17(推荐 17,Metals 官方主力支持);运行
java -version确认 - sbt 1.8+(或使用 Bloop,但新手建议先用 sbt);运行
sbt --version - 项目根目录下有
build.sbt或project/,否则 Metals 无法识别为 Scala 项目
安装与启用 Metals 插件
打开 VSCode 扩展市场(Ctrl+Shift+X),搜索 “Metals”,安装由 Scalameta 官方发布的插件(图标是蓝色原子结构)。安装后重启 VSCode 或直接点击“重载窗口”。
首次打开一个 Scala 项目时,VSCode 底部状态栏会弹出提示:“Import build?”,点击 Import build。Metals 会自动调用 sbt 启动语义索引服务,生成 .metals/ 和 .bloop/ 目录——这个过程可能需要几十秒到几分钟,取决于项目大小。
关键配置项(settings.json)
按 Ctrl+, 打开设置 → 右上角“打开 settings.json”,添加以下常用配置:
- “metals.serverVersion”: “0.11.12” —— 锁定稳定版(查看 GitHub 发布页 获取最新版号)
- “metals.javaHome”: “/usr/lib/jvm/java-17-openjdk” —— 显式指定 JDK 路径(linux/macOS),windows 填如
"C:Program FilesJavajdk-17" - “metals.sbtScript”: “/usr/local/bin/sbt” —— 如果 sbt 不在 PATH 中,需指定完整路径
- “editor.formatOnSave”: true + “[scala]”: { “editor.formatOnSave”: true } —— 启用保存时自动格式化(需配合 scalafmt)
注意:Scala 格式化需额外安装 scalafmt 插件,并在项目根目录放 .scalafmt.conf 配置文件。
日常使用小技巧
Metals 功能强大但默认快捷键不显眼,掌握几个高频操作能大幅提升效率:
- Ctrl+Click(或 Cmd+Click)→ 跳转到定义(包括库源码,如果已下载源码)
- Shift+Alt+O → 快速导入缺失的 import(类似 IntelliJ 的 Alt+Enter)
- Ctrl+Shift+P → 输入 “Metals: …” 可触发命令,例如:
• “Metals: Restart build server”(服务卡住时首选)
• “Metals: Run doctor”(诊断常见问题,输出清晰建议) - 编辑器右下角显示 “Compiling…”、“Indexing…” 状态,耐心等待完成再操作,否则跳转/补全可能失效
基本上就这些。配置一次,后续新开 Scala 项目基本自动适配。遇到问题优先跑 “Run doctor”,90% 的连接失败、无补全、红波浪线都源于 JDK 路径错、sbt 版本低或没点 “Import build”。