我是VS代码和Golang的新手。 我有一个包含2个不同服务的现有项目-我们将一个称为A,将第二个称为B。A 和B都位于同一目录下。
每当我尝试运行A或B时,都会出现以下错误:
# directory/directory/directory/A&B_Directory ./A.go:12:6: main redeclared in this block previous declaration at ./B.go:18:6
我尝试播放该launch.json文件,并添加了以下部分:
launch.json
{ "name": "Launch Program", "type": "go", "request": "launch", "mode": "debug", "program": "FullDirectory/A.go" }
还尝试在program属性中将设置为${file}和其他许多失败的变体。
${file}
我想找个方向,我有点迷路了。谢谢。
免责声明 : 这不是推荐的方法 ,我同意其他 观点 ,您应将 服务 A和B 分开到不同的目录中。
回答您的问题:要启动特定文件,请使用以下配置进行仿真go run current-file:
go run current-file
{ "version": "0.2.0", "configurations": [ { "name": "Run current file", "type": "go", "request": "launch", "mode": "exec", "program": "full-path-to-go.exe", "args": ["run", "${file}"], "showLog": true } ] }
模式exec用于启动属性中给定的预构建二进制文件program(您必须指定go二进制文件的完整路径)。然后作为参数,只需将run和filename(${file})添加到property即可args。
exec
program
go
run
args