gpt4 book ai didi

scala - 我究竟如何使用 Metals 和 VS Code Debugger?

转载 作者:行者123 更新时间:2023-12-04 11:42:51 25 4
gpt4 key购买 nike

Metals announced “现在可以使用新的“运行”、“测试”、“调试”和“调试测试”按钮直接从 VS Code 运行和测试。”有一个很好的 gif 显示它可以做什么,我不知道如何达到这一点。
我尝试在 launch.json 中使用以下配置启动 VS Code 调试器

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "scala",
"request": "launch",
"name": "Untitled",
"mainClass": "com.playZip.Unzip",
"args": [],
"jvmOptions": []
}
]
}
并收到此错误消息:
Couldn't find a debug adapter descriptor for debug type 'scala' (extension might have failed to activate)
有人在 Gitter scalameta/metals有这个问题,答案是他需要 Bloop 来支持 utest,我认为我的可以,因为有一个文件 .bloop/play-zip-test.json在我的 sbt 项目中,但我不是 100% 如果我的 Bloop 支持 utest,如果不支持该怎么办。我试过运行 bloop utest它失败了,因为我没有安装 Bloop CLI。我有 Metals 附带的 Bloop。

最佳答案

Document how to run or debug applications #2005Running and debugging your code 添加官方调试文档其中记录了两种方法

  • 通过代码镜头 run | debug enter image description here
  • 通过 launch.json配置

  • 这是一个 hello world 示例,如何通过 launch.json 使用 VSC 和 Metals 调试测试。方法。我们将使用
    lihaoyi/utest 库并在测试中设置断点。
  • 执行 sbt new scala/scala-seed.g8创建正确的项目结构
  • Open... sbt 项目与 VSC 或干脆 cd进入项目并执行 code .
  • build.sbt 中用 utest 替换 ScalaTest
    libraryDependencies += "com.lihaoyi" %% "utest" % "0.7.2" % "test",
    testFrameworks += new TestFramework("utest.runner.Framework")
  • 替换 test/scala/example/HelloSpec.scalaHelloTests.scala
    package example

    import utest._

    object HelloTests extends TestSuite{
    val tests = Tests{
    test("test1"){
    1
    }
    }
    }
  • 使用 View | Command Palette... | Metals: Import Build 导入 sbt 构建
  • 在第 8 行放置一个断点并单击 Run and Debug enter image description here
  • 选择 Test SuitePick the kind of class to debug
  • Enter the name of the build target 留空
  • 写信 example.HelloTestsEnter the name of the class to debug
  • 写信 Debug example.HelloTestsEnter the name of configuration
  • 这应该创建 .vscode/launch.json
    {
    "version": "0.2.0",
    "configurations": [
    {
    "type": "scala",
    "name": "Debug example.HelloTests",
    "request": "launch",
    "testClass": "example.HelloTests"
    }
    ]
    }
  • 现在您应该可以 Start Debugging通过单击绿色三角形并在断点处停止
    enter image description here
  • 关于scala - 我究竟如何使用 Metals 和 VS Code Debugger?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63385946/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com