Metals 是专为 Scala 设计的语言服务器,需通过 VSCode 官方插件安装,并配置 Java 17 环境、导入含 build.sbt 的项目后,方可启用代码补全、跳转定义和实时错误提示等功能。

如果您在 Visual Studio Code 中开发 Scala 项目,但无法获得代码补全、跳转定义或编译错误实时提示,则很可能是缺少语言服务器支持。Metals 是专为 Scala 设计的开源语言服务器,需通过插件方式集成到 VSCode 中。以下是完成安装与基础使用的具体步骤:
本文运行环境:MacBook Air,macOS Sequoia。
一、安装 Metals 官方插件
VSCode 通过扩展市场提供官方维护的 Metals 插件,该插件负责启动 Metals 语言服务器并桥接编辑器功能。安装后无需手动下载 JAR 包,插件会自动处理依赖和版本适配。
1、打开 VSCode,点击左侧活动栏最下方的扩展图标(四个方块组成的图标)。
2、在扩展搜索框中输入 Metals,找到由 scalameta.metals 发布的官方插件。
3、点击“安装”按钮,等待状态变为“已安装”。
二、配置 Java 运行时环境
Metals 服务本身基于 JVM 构建,必须依赖本地已安装的 Java 11 或 Java 17 运行时。VSCode 不会自动检测 Java 路径,需手动指定以避免启动失败。
1、确认系统已安装 Java 17:在终端执行 java -version,输出应包含 17.x.x。
2、打开 VSCode 设置(Cmd + ,),搜索 metals java home。
3、在“Metals: Java Home”设置项中,点击“编辑设置(settings.json)”,添加键值对:"metals.javaHome": "/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"(路径需按实际 JDK 安装位置调整)。
PHPB2B Athena 是一款基于PHP、MySQL的B2B行业电子商务网站管理系统,系统提供了供求信息、公司库、专业市场库、产品库、展会、人才招聘、行业资讯等模块,适用于想在行业里取得领先地位的企业快速架设B2B网站,可以运行于Linux与Windows等多重服务器环境,安装方便,使用灵活。强大的插件功能: 系统自带企业视频展播、在线QQ客服、baidu sitemap以及google si
三、导入 Scala 项目
Metals 需要识别构建工具元数据(如 build.sbt 或 build.sc)才能启动语言服务器并索引源码。仅打开 .scala 文件不会触发自动导入,必须显式执行导入操作。
1、在 VSCode 中通过“文件 → 打开文件夹”加载含 build.sbt 的 Scala 项目根目录。
2、底部状态栏出现 Import build 提示时,点击该文字。
3、选择 Import build,等待右下角通知显示 Import completed successfully。
四、验证核心功能是否启用
导入成功后,Metals 将启动语义分析并建立符号索引。此时可立即测试关键编辑能力,确认服务正常响应。
1、在任意 .scala 文件中右键点击一个类名,选择 Go to Definition,应跳转至源码声明处。
2、将光标悬停在函数调用上,数秒后应显示 Scaladoc 注释与签名信息。
3、在未定义变量处输入代码,编辑器应即时标红并显示 Type mismatch 类型错误提示。









