是否可以在dev容器规范中指定一个或多个要作为dev容器的一部分打开的终端?
我的用例是,我想为用户打开两个终端:
- 构建并托管应用程序
- 构建并运行应用程序API
这个想法只是为了节省用户自己打开终端并运行相关命令的时间。
相同的终端
如果您不需要在单独的终端中使用日志,则可以使用postStartCommand
生命周期脚本。
将您的命令添加到devcontainer.json
文件中,命令之间用&&
分隔;使用本例中的nohup
使进程继续运行:
"postStartCommand": "echo hello && echo world"
独立端子
如果需要单独的终端,可以创建自定义任务;该页面还包含有关如何进一步自定义任务的信息。
// .vscode/tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build Host",
"type": "shell",
"command": "echo hello",
"group": "build",
"presentation": {
"group": "buildGroup",
"reveal": "always",
"panel": "new",
"echo": false,
}
},
{
"label": "Build API",
"type": "shell",
"command": "echo world",
"group": "build",
"presentation": {
"group": "buildGroup",
"reveal": "always",
"panel": "new",
"echo": false,
}
},
{
"label": "Build All",
"dependsOn": [
"Build Host",
"Build API"
],
"group": "build",
"runOptions": {
"runOn": "folderOpen" // This starts both tasks when the container is started
},
}
]
}
带运行和调试
最后,根据您正在处理的项目,可以使用launch.json
文件设置自定义运行命令。您可以在这里找到文档。