Visual Studio Code刚刚更新为允许运行任务并在拆分终端中打开它们。太好了,但是我正在寻找另一件事来使它变得完美。
我希望能够通过一个任务打开总共3个终端。一个用于我的NPM构建,一个用于我的后端MAVEN构建,另一个用于我需要时可用于git命令的空白新终端。
我似乎无法找到一种方法来告诉VSC运行一个任务,该任务只是打开一个准备使用的新终端而没有提供命令。我什至愿意给它一个简单的命令,例如“ node -v”,以启动它,只要之后该面板仍然可用。现在它想在它运行后将其关闭。
这是我的任务设置:我有一个任务设置作为依赖于其他两个任务的构建任务。我设想在将要打开新终端的终端上添加第三个终端:
{
"version": "2.0.0",
"tasks": [
{
"label": "Run Maven and NPM",
"dependsOn": [ "maven", "npm" ],
"group": {
"kind": "build",
"isDefault": true,
},
},
{
"label": "maven",
"command": "...",
"type": "shell",
"presentation": {
"reveal": "always",
"group": "build"
},
"options": {
"cwd": "${workspaceRoot}/server"
}
},
{
"label": "npm",
"type": "shell",
"command": "ng serve --port 4203 --proxy-config proxy.conf.json",
"presentation": {
"reveal": "always",
"group": "build"
},
"options": {
"cwd": "${workspaceRoot}/client-APS"
}
}
]
}
答案 0 :(得分:0)
以下方法应该起作用:
{
"type": "process",
"label": "terminal",
"command": "/bin/bash", // <-- your shell here
"args": [
"-l" // login shell for bash
],
"problemMatcher": [],
"presentation": {
"echo": false, // silence "Executing task ..."
"focus": true,
"group": "build", // some arbitrary name for the group
"panel": "dedicated"
},
"runOptions": {
"runOn": "folderOpen"
}
}
当我迷失于此解决方案时,我正在尝试实现非常相似的功能:在这里,当在vscode中打开文件夹时,我正在自动启动(并将焦点设置在)终端上-以及进一步的任务共享相同的presentation.group
在运行时放置在拆分终端中(根据拆分presentation.panel
的使用情况,新拆分还是重用拆分)
(对于您的情况,runOptions位是多余的,但我保留它是为了对某人有帮助)
注意:在此示例中,根据对-l
,terminal.integrated.shell*
和terminal.integrated.automationShell*
-this的设置,您可能不需要terminal.integrated.inheritEnv
选项}问题讨论了设置shell环境所涉及的内容。