Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 在VSCode中运行任务时如何拆分终端?_Visual Studio Code - Fatal编程技术网

Visual studio code 在VSCode中运行任务时如何拆分终端?

Visual studio code 在VSCode中运行任务时如何拆分终端?,visual-studio-code,Visual Studio Code,在VisualStudio代码中,现在可以将集成的终端一分为二。我还使用VSCode的tasks特性始终同时运行两个任务。当我运行一个任务时,它将自动拆分当前终端,并使用新的终端来执行任务,我如何才能做到这一点 基本上,我想打开VSCode,它应该像正常情况一样自动打开集成终端,然后我可以运行我的两个任务,这两个任务应该以一个终端拆分为三个来结束,如下所示: ------------------------------------------------------ | default term

在VisualStudio代码中,现在可以将集成的终端一分为二。我还使用VSCode的tasks特性始终同时运行两个任务。当我运行一个任务时,它将自动拆分当前终端,并使用新的终端来执行任务,我如何才能做到这一点

基本上,我想打开VSCode,它应该像正常情况一样自动打开集成终端,然后我可以运行我的两个任务,这两个任务应该以一个终端拆分为三个来结束,如下所示:

------------------------------------------------------
| default terminal   | Task 1       | Task 2         |
------------------------------------------------------
编辑(已解决): VSCode已更新,现在允许此操作:D

您现在可以将任务配置为在拆分的终端面板中显示输出,而不是创建新的终端面板。任务配置可以使用演示部分中的属性来定义任务输出的显示位置


创建任务时,请确保将
演示文稿。显示
选项设置为
始终
演示文稿。面板
选项设置为
新建
。这样,输出总是显示,并且在每次任务运行时都会创建一个新的终端

例如:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Run tests",
            "type": "shell",
            "command": "./scripts/test.sh",
            "windows": {
                "command": ".\\scripts\\test.cmd"
            },
            "group": "test",
            "presentation": {
                "reveal": "always",
                "panel": "new"
            }
        }
    ]
}
更多信息,请访问:


编辑:由于您希望将新任务放入拆分的终端,此信息可能会有所帮助。我认为这是不可能的:

您可以使用tmux来拆分终端,不仅在vscode内部,而且在所有终端中

MacOS安装 在Mac上开始使用tmux的最简单方法是使用自制软件包管理器

  • 如果尚未安装自制软件,请打开Terminal或iTerm并粘贴以下命令:
  • /usr/bin/ruby-e“$(curl-fsSL)”

  • 安装自制软件后,您可以使用brew安装tmux:
  • brew安装tmux

  • 通过检查版本(注意大写V)确认已安装:
  • tmux-V

    Ubuntu/DebianLinux安装 Ubuntu的安装类似于Mac,只是我们将使用预安装的apt get软件包管理器。注意,我们将不得不运行apt-get-as-sudo。这是因为用户帐户没有足够的权限安装tmux,所以sudo将允许我们以超级用户的身份安装它

  • 更新apt get以确保我们了解最新和最棒的:
  • sudoapt获得更新

  • 安装tmux:
  • sudo-apt-get-install-tmux

  • 通过检查以下版本确认已安装:
  • tmux-V

    安装后 使用
    tmux
    命令启动新会话,然后按ctrl/cmd+b和%进行垂直拆分,或按“进行水平拆分”

    工具书类

    您可以简单地拆分 终端通过快捷方式:

    Ctrl+Shift+5

    注:在1.36.1或更高版本上测试


    以下方面应起作用:

    {
        "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": "sxs",  // some arbitrary name for the group
            "panel": "dedicated"
        },
        "runOptions": {
            "runOn": "folderOpen"
        }
    }
    
    {
    “类型”:“过程”,
    “标签”:“终端”,
    
    “command”:“/bin/bash”,在更新中添加了对此的直接支持

    为每个任务的
    presentation.group
    属性设置相同的名称将导致任务出现在拆分终端中。从VS代码:

    组:控制是否使用拆分窗格在特定终端组中执行任务。同一组中的任务(由字符串值指定)将使用拆分终端而不是新的终端面板来显示


    我不知道这如何帮助我在拆分终端视图中运行新任务。这只是让它们显示在新终端中,但它们不会拆分以同时显示两者。我认为这是不可能的。检查我在答案中添加的功能请求,在他们的GitHub中找到。我很害怕。不过感谢功能请求链接!赏金已获得用于编辑。谢谢,我知道tmux,但更希望通过利用内置的vscode功能来简化操作。这使我走上了正确的道路。我改为使用presentation.panel=“shared”。这对我很有效。