VSCode Scala Metals插件升级至1.24.0后工作区项目mainclass无法找到
解决Metals升级后Multi-Root Workspace下Main Class无法找到的问题
已验证的通用解决方案
- 重新生成项目元数据:打开VSCode命令面板(
Ctrl+Shift+P/Cmd+Shift+P),执行Metals: Clean Workspace,再执行Metals: Restart Build Server,等待项目重新导入完成后尝试运行main class。 - 检查workspace配置:打开
.code-workspace文件,确保每个项目的path配置准确,无相对路径错误或重复条目。示例配置:{ "folders": [ { "path": "./service-module" }, { "path": "./common-module" } ] } - 手动指定完整类名:运行时输入main class的全限定名(如
cn.demo.app.MainApp),跳过自动补全环节,避免扩展扫描逻辑异常。
其他用户反馈的有效操作
- 关闭Multi-Root自动导入:在VSCode设置中搜索
Metals: Enable Multi Root,将其设为false,重新加载窗口后,Metals会按单根模式处理workspace内的每个项目,部分用户此操作解决了类查找问题。 - 清理Metals缓存:删除系统中的Metals缓存目录(Windows:
%USERPROFILE%\.cache\metals;macOS/Linux:~/.cache/metals),重启VSCode后重新导入项目。
临时替代方案
如你所述,回退至Metals 1.23.0版本可暂时规避问题:在VSCode扩展面板找到Scala (Metals),点击右上角齿轮图标选择「Install Another Version...」,选中1.23.0版本安装后重启VSCode。
内容的提问来源于stack exchange,提问作者Thejipppp
相关产品推荐
相关产品推荐

