Visual studio code 如何在VS代码中添加多个终端?

Visual studio code 如何在VS代码中添加多个终端?,visual-studio-code,windows-7-x64,Visual Studio Code,Windows 7 X64,我们可以在VS代码中添加多个不同的终端吗?我计划添加以下三个终端,并与所有这些终端一起工作: Windows命令提示符 动力壳 Git Bash 我知道我需要在Preferences=>Setting // // 64-bit cmd if available, otherwise 32-bit "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\cmd.exe", // // 64-bit PowerShell if

我们可以在VS代码中添加多个不同的终端吗?我计划添加以下三个终端,并与所有这些终端一起工作:

  • Windows命令提示符
  • 动力壳
  • Git Bash
  • 我知道我需要在
    Preferences=>Setting

     // // 64-bit cmd if available, otherwise 32-bit
     "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\cmd.exe",
    // // 64-bit PowerShell if available, otherwise 32-bit
     "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe",
    // // Git Bash
     "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
    
    我想在
    setting.json

    当我单击
    +
    时,应该会打开不同的终端,我希望在不更改首选项的情况下使用这些终端。
    在VS代码中是否可能

    没有。也许在将来。看


    如果您使用bash,您可以使用tmux实现类似的功能,如上面链接的问题所述。

    有一种方法可以通过以下步骤实现这一点,即安装扩展:

  • 找到一个名为
    Shell launcher
    的扩展并安装它,或者您可以找到它。如果需要或在完成所有步骤后重新加载VS代码

  • 转到
    Files-->Preferences-->Settings
    ,这将打开
    Settings.json
    文件,然后插入该文件(您可以将其编辑到心底):

  • 代码:

    更新:在搜索栏中键入
    shelllauncher
    。然后可以看到
    Shell启动器:Launch
    命令。突出显示并使用您喜欢的任何键绑定。例如,我为自己选择了Ctrl+Alt+(backtick)`组合键

    您可以重新加载VS代码并单击已分配的组合键,这将为您提供选择要使用的集成终端的选项

    有关更多详细信息,请查看官方网站:


    享受吧

    这可以通过在末尾添加不同的键来完成。通过将示例更改为:

    // // 64-bit cmd if available, otherwise 32-bit
     "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\cmd.exe",
    // // 64-bit PowerShell if available, otherwise 32-bit
     "terminal.integrated.shell.windows2": "C:\\Windows\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe",
    // // Git Bash
     "terminal.integrated.shell.windows3": "C:\\Program Files\\Git\\bin\\bash.exe",
    
    请注意,键…shell.windows已更改为…shell.windows2和…shell.windows3


    后续发现:我注意到,一旦重新启动IDE,只会显示第一个终端。我必须重新打开设置并保存一次,才能再次获取两个终端。如果有更好的解决方案,将发布。

    ctrl+shift+`
    快捷键,或按叉号运行新终端,然后键入
    bash
    如果默认模式为powershell,或键入
    powershell
    ,如果默认模式为bash。给你,你的终端被切换了

    目前VS代码支持一次仅将一个可用端子定义为默认端子,并且不能添加多个外壳端子

    如果您不想按照@ian0411的建议安装“Shell Launcher”插件,那么这里有一个更改/选择默认终端的快速方法

    按“Ctrl+Shift+p”打开命令选项板

    键入“终端:选择默认外壳”,然后按enter键。系统将提示您选择Git Bash、PowerShell或Cmd,如下所示:

    注意:这将更改默认的外壳端子,但在需要使用其他外壳端子时更改它并无害处


    顺便说一句,如果您只需要在Cmd和Powershell之间切换,则可以键入Cmd或Powershell(在已打开的终端中)切换到所需的终端。但它对Git Bash不起作用。

    即使去年提出了这个问题,答案也被接受了,但我仍然觉得有必要回答这个问题,因为我没有找到任何简单、合适和完整的答案,而作为一个开发,我需要多个终端,点击如下所示:-

    我不关心它们的路径,为VS代码已经能够执行的功能添加另一个扩展,或者重新加载VS Shell等等,然后手动插入和设置设置文件

    我发现这个问题被问了很多次,几乎所有的问题都是手工设置的,比如写一些设置等等,或者有时候只选择了一种终端。@Pawan的答案有点接近,但该解决方案最终只涉及到一个终端,将命令设置为switch terminal,该解决方案将适用于git或任何其他终端

    如果您安装了在命令行上工作的工具,如powershell和git,以及windows中的默认cmd提示符,那么请按照快速的三个步骤一次获取所有终端,并通过单击切换到任何终端

  • 打开终端,它应该是可见的(使用ctrl+`或从菜单查看->集成终端

  • 打开命令搜索(使用Ctrl+Shift+p或从菜单查看->命令调色板…

  • 在命令框中键入“终端:选择默认外壳”从下拉列表中选择此选项。
  • 选择此选项时,路径中的所有可用命令将如下所示

  • 只需单击要添加的任何一个,即可从命令列表中快速访问

  • 最后,在终端窗口中,只需单击终端列表旁边的+符号,如下所示:-

  • 在执行步骤6后,在步骤5中选择的终端现在将添加到列表中,而不删除先前的终端

  • 重复步骤3-6,将任何其他终端添加到命令列表中

  • 要使用特定的终端,只需在终端窗口的终端列表中选择所需的终端即可

    在终端选项卡中,有一个拆分终端按钮。对于Windows终端上的WSL Ubuntu,它的工作方式就像一个符咒:

    文件->首选项->设置->单击右上角的代码图标

    输入以下内容:

    {
        "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\wsl.exe",
        "git.enableSmartCommit": true
    }
    

    要打开多个终端,请检查屏幕截图(在visual studio代码的右下角,他们的代码将是一个下拉列表,紧接着,他们的是+(加号)图标。按下它,新终端将打开。)


    我在上面看不到这一点,但请阅读所有答案。我认为这是目前得到支持的最好办法。我相信,就像我自己一样,OP只是
    // // 64-bit cmd if available, otherwise 32-bit
     "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\cmd.exe",
    // // 64-bit PowerShell if available, otherwise 32-bit
     "terminal.integrated.shell.windows2": "C:\\Windows\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe",
    // // Git Bash
     "terminal.integrated.shell.windows3": "C:\\Program Files\\Git\\bin\\bash.exe",
    
    {
        "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\wsl.exe",
        "git.enableSmartCommit": true
    }