如何在scala程序中的vs代码中设置断点

How to set breakpoints in vs code in a scala program

我想用 vscode 调试我的 Scala 应用程序。

我的 gradle 运行 任务看起来很简单:

task run(type: JavaExec, dependsOn: build) {
    debug true
    main = mainClassFile
    classpath sourceSets.main.runtimeClasspath
    classpath configurations.runtime
}

启动入口:

{
    "type": "java",
    "name": "Debug (Attach)",
    "request": "attach",
    "hostName": "localhost",
    "port": 5005
 }

现在,当我启动调试器时,它会等待 vscode 客户端。 但是我无法在 vscode 中设置任何断点以停止调试器。现在它 运行s 直到结束,在 vscode 连接之后。

我正在使用 ScalaScala Language Server

有人知道怎么加断点吗?

Scala Metals 的最新版本 (0.8.0) has a debug support - 该版本有一个动画显示在 Visual Studio 代码中调试的用法,其工作方式与在其他语言中调试相同。

这是初始支持,因此可能不支持某些情况(请参阅 Metals 0.8.0 发行说明中的​​ "known limitations"),但您应该可以开始使用它们。

在此之前,Scala Metals 根本不支持调试,建议所有编写需要此类功能的 Scala 的人使用带有 Scala 插件的 IntelliJ。