如何从集成终端窗口在新的集成终端窗口中运行脚本

时间:2019-06-03 15:44:09

标签: bash powershell visual-studio-code

通常,我在一个集成终端中运行一组命令,然后打开另一个并在该终端中运行另一组命令。

我想运行一个Bash / PowerShell脚本,该脚本在同一VS代码实例中的自己的集成终端中的Visual Studio Code中运行这两个脚本。

这可能吗?

大约2年前的这个问题问了同样的事情,没有答案:What's the command to open a new integrated terminal from within the integrated terminal in vscode?

1 个答案:

答案 0 :(得分:0)

您可以打开任意数量的并排显示的终端,只需单击加号或使用链接中注明的热键,然后单击该拆分的终端图标或使用其热键(CTL +)。

您当然可以添加自己的按键绑定来帮助多个终端,例如,将它们添加到keybindings.json文件中,以便在终端上进行其他键盘导航。

[
{ "key": "ctrl+shift+x", "command": "workbench.action.terminal.kill" },
{ "key": "ctrl+shift+j", "command": "workbench.action.terminal.focusNext" },
{ "key": "ctrl+shift+k", "command": "workbench.action.terminal.focusPrevious" },
]

以及本文作者显示的其他选项。 Mastering VS Code's Terminal

但是,您似乎想说的是,您想要运行脚本并让它自动打开一个新终端并自动拆分屏幕以为该新终端运行段。您可能最接近的是使用VSC任务,如VSC文档和此处的本文所述:

Visual Studio Code Tasks and Split Terminals

{
    "label": "Run Server",
    "type": "shell",
    "command": "${config:python.pythonPath} manage.py runserver --noreload",
    "presentation": {
        "group": "groupServerStuff"
    }
},
  

具有相同组的所有任务将作为另一个拆分终端打开   相同终端窗口中的窗格。很好。

     

除了单独启动每个任务,还有一种方法可以使任务   “呼叫”或“产生”其他任务...

{
    "label": "Run Server",
    "dependsOn": [
        "Run TCP Server",
        "Run Django Server",
        "Tail Log File"
    ]
},
{
    "label": "Run Django Server",
    "type": "shell",
    "command": "${config:python.pythonPath} manage.py runserver --noreload",
    "presentation": {
        "group": "groupServerStuff"
    }
},
{
    "label": "Run TCP Server",
    "type": "shell",
    "command": "${config:python.pythonPath} scripts/tcp_server.py",
    "presentation": {
        "group": "groupServerStuff"
    }
},
{
    "label": "Tail Log File",
    "type": "shell",
    "command": "tail -f /tmp/logfile.txt",
    "presentation": {
        "group": "groupServerStuff"
    }
},