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

Mat*_*ias 6 debugging scala breakpoints visual-studio-code

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

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

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

启动条目:

{
    "type": "java",
    "name": "Debug (Attach)",
    "request": "attach",
    "hostName": "localhost",
    "port": 5005
 }
Run Code Online (Sandbox Code Playgroud)

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

我正在使用ScalaScala Language Server

有人知道如何添加断点吗?

Mat*_*zok 2

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

这是初始支持,因此某些情况可能不受支持(请参阅 Metals 0.8.0 发行说明中的​​“已知限制”),但您应该能够开始使用它们。

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