为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 vscode launch.json 中编译多个 go 文件?

如何在 vscode launch.json 中编译多个 go 文件?

Go
茅侃侃 2022-10-17 10:09:15
如果我有几个 go 文件需要在主包中,我如何指定它们在 launch.json 中编译?我会将它们重构为包。但这个项目正在抵制。即要在命令行上运行它们,我必须使用:go run main.go stuff.go other.go我如何将它包含在 launch.json 文件中?{    "name": "Launch myprog",    "type": "go",    "request": "launch",    "mode": "debug",    "program": "${workspaceRoot}/cmd/myprog/main.go",     "args": ["param"]},我已经尝试了明显的方法。我想做一些调试。那么......我如何在launch.json中指定编译文件夹中的包而不仅仅是一个特定的文件?如果go run main.go相当于"program": "${workspaceRoot}/cmd/myprog/main.go"那么,go run .相当于什么?"program": "${workspaceRoot}/cmd/myprog/[?????]"因为显而易见的对我不起作用。
查看完整描述

3 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

使用“程序”:“。” 为我工作:


{

  "version": "0.2.0",

  "configurations": [

    {

      "name": "Launch Package",

      "type": "go",

      "request": "launch",

      "mode": "auto",

      "program": ".",

      "cwd": "${workspaceFolder}",

    }

  ]

}


查看完整回答
反对 回复 2022-10-17
?
波斯汪

TA贡献1811条经验 获得超4个赞

我相信您在问题中混合了一些概念,所以让我尝试逐步回答:

  • vscode中,该launch.json文件由 vscode 自动创建以帮助它进行调试,它不是 go 语言的一部分,它不定义您的应用程序将如何运行或编译。如需更多参考,请查看如何使用 Visual Studio Code 调试 Go 代码

  • 编译您的应用程序 ( go build) 意味着与特定包相关的所有文件都将转换为二进制文件。查看本文以了解包如何链接到您的应用程序编译。

  • 可以使用它来运行go run您的应用程序,这与编译的效果几乎相同,只是此命令不会生成最终的可共享二进制文件。检查运行与构建

现在,关于您的问题,如果您需要在 vscode 上启用正确的调试,请查看gopls-vscode,但如果您的代码由于依赖于其他文件/包而无法编译,请查看关于包的教程上文提到的。

我希望我能给你一些帮助。


查看完整回答
反对 回复 2022-10-17
?
烙印99

TA贡献1829条经验 获得超13个赞

我的系统肯定有其他问题。因为在某些时候它才刚刚开始工作......虽然我现在也在使用插件的夜间版本golang.go-nightly。它完美地修复了缺少的根调试功能......


这现在工作正常......


{

   "name": "Prog",

   "type": "go",

   "request": "launch",

   "mode": "debug",

   "program": "${workspaceRoot}/src/cmd/prog/",

   "args": [""]

},


查看完整回答
反对 回复 2022-10-17
  • 3 回答
  • 0 关注
  • 261 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信