我如何在VSCode中使用多个Go文件启动调试会话?

6

我在main包中有两个.go文件。

我可以使用命令go run main.go plugin.go来运行它们。

我也可以使用dlv来调试它们,命令如下:dlv debug main.go plugin.go

但我不知道如何在VSCode中对它们进行调试,因为launch.json文件中的program键只能接受一个go文件作为值。

这是我的launch.json文件:

{
        "name": "player",
        "type": "go",
        "request": "launch",
        "mode": "auto",
        "program": "${workspaceFolder}/playerserver/main.go",
        "args": ["playerserver.conf.json"]
}

把这两个文件放在同一个目录下,然后使用"${fileDirname}"不是一个选项吗? 否则,你可以配置一个tasks.json来构建你想要的内容,并使用launch/exec来执行使用preTask构建的二进制文件。 - Hana
@Hana,使用"${fileDirname}"不是很方便,因为在开始调试时必须将main.go文件聚焦。我认为先建立一个构建任务是更好的方法,非常感谢。 - dudu
如果文件在playerserver中,你可以说“${workspaceFolder}/playerserver”。当然,如果该文件夹包含其他go文件,则无法正常工作。另一方面,当一个目录包含多个不相关的go文件时,vscode-go扩展程序可能不会很好地工作。 - Hana
1个回答

2

你的第一句话应该是“program”而不是“param”,是吗? - Sébastien

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接