讲师中心 微信公众号

工具推荐

视频效率加速
Laper
Laper

剧本策划到成片协作

Seko
Seko

AI短剧一键生成成片

AniShort
AniShort

AI短剧协同制作平台

立刻MV
立刻MV

低成本歌曲 MV、视频生成

VSCode for Scala:Metals插件配置与使用

老枫姑娘_3169

老枫姑娘_3169

发布时间:2026-01-11 20:02:02

|

485人浏览过

|

来源于php中文网

原创

若VSCode中Scala项目无代码补全等功能,需安装Metals插件、配置Java 11+环境、初始化sbt项目结构、手动导入构建并启用调试支持。

vscode for scala:metals插件配置与使用

如果您在 Visual Studio Code 中开发 Scala 项目,但无法获得代码补全、跳转定义或实时错误检查等功能,则可能是 Metals 语言服务器未正确配置或未激活。以下是完成 Metals 插件安装、配置与基础使用的具体步骤:

本文运行环境:MacBook Air,macOS Sequoia。

一、安装 Metals 官方插件

Metals 是由 Scala Center 维护的官方语言服务器,需通过 VSCode 扩展市场安装其配套插件,以启用语言功能支持。

1、打开 VSCode,点击左侧活动栏的扩展图标(四个方块组成的图标)。

2、在扩展搜索框中输入 Metals,找到由 scalameta.metals 发布的官方插件。

3、点击“安装”按钮,等待安装完成并重启 VSCode(如提示)。

二、确保系统已安装 Java 11 或更高版本

Metals 依赖 JVM 运行,必须在系统中预装兼容的 Java 运行时环境,否则插件启动将失败并报错“Java home not found”。

1、在终端执行 java -version,确认输出版本号 ≥ 11。

2、若未安装,前往 Adoptium 网站下载并安装 Eclipse Temurin JDK 17(推荐 LTS 版本)。

3、设置环境变量,在 shell 配置文件(如 ~/.zshrc)中添加:export JAVA_HOME=$(/usr/libexec/java_home -v 17),然后执行 source ~/.zshrc。

三、初始化 Scala 项目结构

Metals 需识别标准的 sbt 或 Mill 构建配置才能加载项目模型;裸 Scala 文件无法触发语言服务。

Expanso yaml-to-json
Expanso yaml-to-json

使用 Expanso Edge 管道将 YAML 输入转换为 JSON 格式。

下载

1、在项目根目录下创建 build.sbt 文件,内容至少包含:ThisBuild / scalaVersion := "3.3.3"。

2、运行 sbt compile 生成 target/ 和 project/ 目录,确保构建能成功执行。

3、在 VSCode 中使用“File → Open Folder”打开该目录,Metals 将自动检测并弹出“Import build?”提示。

四、手动触发构建导入与索引

当自动导入未触发或失败时,可通过命令面板强制启动 Metals 初始化流程,重建符号索引与语义数据库。

1、按下 Cmd + Shift + P(Mac)或 Ctrl + Shift + P(Windows/Linux)打开命令面板。

2、输入并选择 Metals: Import build,等待状态栏显示“Compiling…”及进度条完成。

3、观察底部状态栏右侧是否出现 Metals (ready) 标识,表示语言服务器已就绪。

五、启用调试与测试支持

Metals 内置对 ScalaTest 和 munit 的测试发现与执行能力,需配置 launch.json 才可在编辑器内直接运行单个测试方法。

1、在项目根目录创建 .vscode/launch.json,内容包含 type: "scala" 的配置项。

2、在 Scala 测试文件中右键点击 test 方法名,选择 Debug Test。

3、调试控制台将输出测试日志,断点可在 it("should return true") 行内正常命中。

热门AI工具

更多
SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2295

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

3742

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

1236

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

4319

2025.09.10

eclipse教程
eclipse教程

php中文网为大家带来eclipse教程合集,eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。php中文网还为大家带来eclipse的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

730

2023.06.14

eclipse怎么设置中文
eclipse怎么设置中文

eclipse设置中文的方法:除了设置界面为中文外,你还可以为Eclipse添加中文插件,以便更好地支持中文编程。例如,你可以安装EBNF插件来支持中文变量名,或安装Chinese Helper来提供中文帮助文档。本专题为大家提供eclipse设置中文相关的各种文章、以及下载和课程。

6166

2023.07.24

c语言编程软件有哪些
c语言编程软件有哪些

c语言编程软件有GCC、Clang、Microsoft Visual Studio、Eclipse、NetBeans、Dev-C++、Code::Blocks、KDevelop、Sublime Text和Atom。更多关于c语言编程软件的问题详情请看本专题的文章。php中文网欢迎大家前来学习。

9639

2023.11.02

Eclipse版本号有哪些区别
Eclipse版本号有哪些区别

区别:1、Eclipse 3.x系列:Eclipse的早期版本,包括3.0、3.1、3.2等;2、Eclipse 4.x系列:Eclipse的最新版本,包括4.0、4.1、4.2等;3、Eclipse IDE for Java Developers等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2804

2024.02.23

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

40

2026.11.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn