我是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
文件,添加以下部分:
{
"name": "Launch Program",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "FullDirectory/A.go"
}
还尝试在program属性中设置为${file}
以及其他许多失败的变体。
我喜欢某个方向,我有点失落。 感谢。
答案 0 :(得分:5)
免责声明:这不是推荐的方法,我同意其他人的意见,您应将服务 A和B分开进入不同的目录。
回答您的问题:要启动特定文件,请使用以下配置模拟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
和文件名(${file}
)添加到属性args
。