如何在VS Code中添加多个终端?


82

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

  1. Windows命令提示符
  2. 电源外壳
  3. 吉特·巴什

我知道我需要在其中添加以下命令 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 Code是否可以?


1
如果在powershell终端中键入此命令,它将启动git bash:& "c:\Program Files\git\bin\bash.exe"
Davos


2
code.visualstudio.com/updates/v1_35开始,您现在可以更轻松地执行此操作,请参阅页面底部的全部答复。我通过谷歌在这里结束,安装了扩展程序,然后一直阅读,注意到了尼尔的评论,然后转到了2019
5

Answers:


108

通过安装扩展,可以通过以下步骤实现此目的:

  1. 找到一个名为的扩展程序Shell launcher并安装它,或者您可以在这里找到它。如果需要或在完成所有步骤后,请重新加载VS Code。

  2. 转到Files --> Preferences --> Settings,这将打开settings.json文件,然后将其插入(您可以将其编辑为您的心脏内容):

码:

"shellLauncher.shells.windows": [
    {
        "shell": "C:\\Windows\\<sysnative>\\cmd.exe",
        "label": "cmd"
    },
    {
        "shell": "C:\\Windows\\<sysnative>\\WindowsPowerShell\\v1.0\\powershell.exe",
        "label": "PowerShell"
    },
    {
        "shell": "C:\\Program Files\\Git\\bin\\bash.exe",
        "label": "Git bash"
    },
    {
        "shell": "C:\\Windows\\<sysnative>\\bash.exe",
        "label": "WSL Bash"
    }
]

PS:可以使用shellLauncher.shells.linuxLinuxshellLauncher.shells.osxmacOS

  1. 转到Files --> Preferences --> Keyboard Shortcuts然后在{}右上角的图标上找到以打开keybindings.json文件。插入此:

码:

[
    { "key": "ctrl+alt+`", "command": "shellLauncher.launch" }
]

更新shelllauncher在搜索栏中输入。然后,您可以查看Shell Launcher: Launch命令。突出显示并使用您喜欢的任何键绑定。例如,我为自己选择了Ctrl + Alt +(反引号)。

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

在此处输入图片说明

有关更多详细信息,请访问官方网站:https : //marketplace.visualstudio.com/items?itemName=Tyriar.shell-launcher

请享用!


8
这是行不通的。我想添加多个terminal.integrated.shell.windows而不是Shell launcher
MANISH KUMAR CHOUDHARY

2
我认为目前无法做到这一点,但正如Ben指出的那样,将来可能做到。这是一种解决方法,可以通过安装带有一些调整的扩展程序来拥有多个终端,以便可以同时打开cmd,powershell或bash。
ian0411

2
伙计,这真的是很酷的扩展,实际上是我真正需要的,因为有时我需要bash和多个PS。大!
拉斐尔

2
很棒!使用此方法为Cmder添加了一个外壳。
AspiringDevOpsGuru

5
对于那些将被复制/粘贴的人。如果您使用的是Windows计算机,请替换sysnativeSystem32
Andrew

65

甚至是去年问的问题,答案就被接受了,但是我仍然想回答这个问题,因为我没有找到任何简单,合适和完整的答案,而在开发过程中,我需要单击以下命令即可获得多个终端:

在此处输入图片说明

而且我不关心它们的路径,为VS Code已经具备的功能添加另一个扩展名或重新加载VS Shell等,然后手动插入和设置设置文件。

我发现这个问题被问了很多遍,几乎所有问题都通过手工设置写了一些设置等,有时甚至只选择了一种类型的终端。@Pawan的答案有点接近,但同样,该解决方案最终落入单个终端,将命令设置为switch终端,该命令将适用于git或任何其他终端。

如果您安装了可在命令行上运行的工具(如power-shell和git)以及Windows中的默认cmd提示符,请按照以下三个快速步骤操作,以一次获取所有终端并单击即可切换到任何人。

  1. 打开终端,它应该是可见的(使用ctrl +`或从菜单View-> Integrated Terminal

  2. 打开命令搜索(使用Ctrl + Shift + P或从菜单中查看->命令面板...

  3. 在命令框中,键入“ Terminal:Select Default Shell ”以从下拉列表中选择此选项。 在此处输入图片说明
  4. 当您选择此选项时,路径中所有可用的命令都会在下面列出,如下所示 在此处输入图片说明

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

  6. 最后,在终端窗口中,只需单击终端列表旁边的+号,如下所示:- 在此处输入图片说明

现在,在执行步骤6之后,将在步骤5中选择的终端添加到列表中,而不会删除较早的终端。

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

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


1
这是我一直在寻找的答案,尽管我偶然发现了它。:)
图例

19
每次添加新视图时,此方法都会覆盖默认终端。如果将Visual Studio代码用于默认终端应保持不变的其他目的,则这不是首选方法。
法比奥

1
谢谢...正是我想要的。
提基

3
有没有办法使设置保持不变?似乎该设置在浏览器关闭时消失了。
猴子

2
谢谢。我喜欢本机解决方案。
Greeso

23

ctrl + shift + `快捷方式,或按一个十字符号运行新的终端,然后键入bash默认模式为Powershell还是powershell默认模式为bash。在这里,您的终端已切换。


1
这确实可以很好地工作,但是由于它不会对设置进行任何更改,因此不会在VSCode会话之间延续。我个人喜欢这样,因为它只是几个按键,而且我并不总是需要多个终端类型。
torpy

5
这是迄今为止最好的解决方案
Pakk

6

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

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

按“ Ctrl + Shift + P”打开命令面板。

输入“ Terminal:选择默认Shell”,然后按Enter。系统将提示您选择Git Bash,PowerShell或Cmd,如下所示:

可选择更改首选端子外壳

注意:这将更改默认的Shell终端,但是每当您需要使用其他终端时,对其进行更改都不会造成任何危害。

顺便说一句,如果只需要在Cmd和Powershell之间切换,则可以键入cmd或powershell(在已打开的终端中)以切换到所需的终端。但这对Git Bash无效。


3

这可以通过在末尾添加其他密钥来完成。通过将示例更改为:

// // 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,将仅显示第一个终端。我必须重新打开设置并保存一次,才能再次获得两个终端。将发布任何更好的解决方案。


5
我将这些设置添加到UserSetting中,但是在第二个和第三个shell上有一个警告,警告消息是“未知配置设置”
Emad Armoun

3

我在上面没有看到这个,但是请阅读所有答案。我认为这是目前受支持的最佳方法。我相信,像我自己一样,OP只是想打开VSCode,然后在终端窗口的下方,我们只希望从中打开选项列表。

是的,您可以打开命令“ Terminal:Select Default Shell”,并循环遍历以添加各种类型的终端...

是的,您可以打开命令“ Terminal:Select Default Shell”,并循环遍历以添加各种类型的终端... 其次是: 在此处输入图片说明

我不知道何时将此选项添加到下拉菜单中,但请看!无需通过查找命令开始。我认为这比其他任何答案都平滑得多,但是仍然会导致您默认的术语被烦人的覆盖,以覆盖您离开会话前的最后选择。

在这里,我们可以更轻松地打开“选择默认外壳” -它应支持“选择新外壳”。很简单,您会认为。希望有人补充一下,否则我有时间贡献力量。

在这里,我们可以更轻松地打开“选择默认外壳”-它应支持“选择新外壳”




0

对于Windows终端上的WSL Ubuntu:

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

输入以下内容:

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

0

要打开multiple终端,请检查屏幕截图是否相同(在Visual Studio代码的右下角,它们是一个下拉菜单,紧随其后的是+(加号)图标。按下该按钮将打开新终端。) 。


0

https://code.visualstudio.com/updates/v1_35起,您现在可以:

  1. 从终端“选择默认外壳”正上方的下拉菜单中选择
  2. 选择一个你喜欢的
  3. 点击+
  4. 完成

(打开拆分屏幕的方法也一样:在此之前执行1 + 2,然后单击拆分屏幕按钮)

(尽管覆盖默认值,但是这是否无关紧要)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.