【问题标题】:How to set breakpoints in vs code in a scala program如何在scala程序中的vs代码中设置断点
【发布时间】:2018-03-26 11:48:24
【问题描述】:

我想用 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 中设置任何断点来停止调试器。现在它运行到最后,在连接 vscode 之后。

我正在使用ScalaScala Language Server

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

【问题讨论】:

  • 嗨@Matthias,你知道了吗?
  • @realharry 不幸的是:(这也是我们考虑不再使用 Scala 的原因之一。
  • @mattias :( 我和你在一起。我在 vscode 上尝试了所有 scala 扩展,但没有一个真正可用/足够好。(Scala 可能是 vscode 中支持最差的语言。)最好的一个我发现实际上是“dotty language server”(用于 Scala 3)。作者在 YouTube(ScalaDays 2018)上有一个演示文稿,他展示了如何调试 Scala 代码。但是,不幸的是,我无法弄清楚他是如何做到的。不管怎样,谢谢你的回复。

标签: scala debugging visual-studio-code breakpoints scala-metals


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-13
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 2011-02-06
    • 2022-01-18
    相关资源
    最近更新 更多