设置一个dev容器以打开一个终端



是否可以在dev容器规范中指定一个或多个要作为dev容器的一部分打开的终端?

我的用例是,我想为用户打开两个终端:

  1. 构建并托管应用程序
  2. 构建并运行应用程序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文件设置自定义运行命令。您可以在这里找到文档。

最新更新