因为自己的服务器采用的微服设计架构,所以一个目录就是一个工程。刚开始,服务较少的时候,每个目录一个vscode窗口。等服务器多起来了,发现实在不方便。然后思考了一下,是 否golang 可以配置多工程?
在根目录下创建一个 xxxx.server-workspace目录。并贴上代码 如图
{
"folders": [
{
"name": "account",
"path": "./account"
},
{
"name": "admin",
"path": "./admin"
},
{
"name": "calendar",
"path": "./calendar"
},
{
"name": "feedback",
"path": "./feedback"
},
{
"name": "file",
"path": "./file"
},
{
"name": "push",
"path": "./push"
},
{
"name": "meatos",
"path": "./meatos"
}
],
"launch": {
"version": "0.2.0",
"configurations": [
{
"name": "account",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}/account"
},
{
"name": "calendar",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}/calendar"
},
{
"name": "feedback",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}/feedback"
},
{
"name": "file",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}/file"
},
{
"name": "push",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}/push"
}
],
"compounds": [
{
"name": "all",
"configurations": ["account","calendar","feedback","file","push"],
//"preLaunchTask": "${defaultBuildTask}"
}
]
}
}
launch下是调试的配置。如果您需要一次性启动多个服务,可以使用compounds,像我的代码所示
然后使用vscode打开刚刚新建的 xxxx.server-workspace 就是如下的效果。不报红,关键还能直接调试,起多个应用