如何在 VS Code 中添加多个终端?
Posted
技术标签:
【中文标题】如何在 VS Code 中添加多个终端?【英文标题】:How to add multiple terminals in VS Code? 【发布时间】:2017-09-11 15:55:26 【问题描述】:我们可以在 VS Code 中添加多个不同的终端吗?我计划添加以下三个终端并使用所有这些终端:
Windows 命令提示符 PowerShell Git 重击
我知道我需要在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 中是否可能?
【问题讨论】:
如果你在 powershell 终端中输入它,它将启动 git bash:& "c:\Program Files\git\bin\bash.exe"
相关帖子 - How to change the integrated terminal in visual studio code or VSCode
从code.visualstudio.com/updates/v1_35 开始,您现在可以更轻松地做到这一点,请在页面底部完全查看我的答案。我通过 google 到这里结束,安装了扩展,然后一直阅读,注意到 Neil 的评论,然后转到 2019 年 5 月的发行说明并将其添加到此处作为参考
【参考方案1】:
我相当肯定这些是旧样式的 settings.json,不会像 VS Code 2021 中讨论的那样工作。新样式如下所示:
“终端.integrated.profiles.windows”: “重击”: "路径": ["C:\Programs\Git\bin\bash.exe"], “图标”:“终端bash”, , “命令提示符”: "路径": ["$env:windir\System32\cmd.exe"], “参数”:[], “图标”:“终端-cmd” , “电源外壳”: "路径": ["C:\Programs\PowerShell\pwsh.exe"], “来源”:“PowerShell”, “参数”:[], “图标”:“终端-powershell” , "terminal.integrated.defaultProfile.windows": "Bash"
这将使您能够访问命令和 PowerShell 并将 bash 设置为默认 shell(我的偏好)。如果你想启动一个像 git-bash 这样的独立应用程序,你需要别的东西。
【讨论】:
【参考方案2】:自动打开多个终端窗口的推荐方法是使用任务功能。请参阅 VS Code 文档中的 Automating launching of terminals。
【讨论】:
【参考方案3】:我在上面没有看到这一点,但请阅读所有答案。我认为这是目前支持的最佳方法。我相信,和我一样,OP 只是想打开 VSCode,而在终端窗口的下方,我们只需要一个选项列表来打开。
是的,您可以打开命令“终端:选择默认外壳”并循环添加各种类型的终端...
接着是:
我不知道这个选项是什么时候添加到下拉列表中的,但是看看! 不需要从查找命令开始。我认为这比任何其他答案都顺畅得多,但它仍然会导致恼人的默认术语被覆盖为您在离开会话之前的最后选择。
在这里,我们可以更轻松地打开Select Default Shell - 它应该支持“Select New Shell”。很简单,你会想。希望有人尽快添加,或者我有时间做出贡献。
【讨论】:
选择不同类型的新外壳也是我想要的。【参考方案4】:有一种方法可以通过安装扩展程序来实现这些步骤:
找到一个名为Shell launcher
的扩展程序并安装它,或者您可以找到它here。如果需要或在完成所有步骤后重新加载 VS Code。
转到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:Linux
可以使用shellLauncher.shells.linux
,macOS
可以使用shellLauncher.shells.osx
。
-
转到
Files --> Preferences --> Keyboard Shortcuts
,然后找到右上角的
图标以打开keybindings.json
文件。插入:
代码:
[
"key": "ctrl+alt+`", "command": "shellLauncher.launch"
]
更新:在搜索栏中输入shelllauncher
。然后您可以看到Shell Launcher: Launch
命令。突出显示并使用您喜欢的任何键绑定。例如,我为自己选择了 Ctrl + Alt + (backtick)`。
您可以重新加载您的 VS Code 并单击您分配的组合键,这将使您可以选择要使用的集成终端。
更多详情请查看官网:https://marketplace.visualstudio.com/items?itemName=Tyriar.shell-launcher
享受吧!
【讨论】:
这不起作用。我想添加多个terminal.integrated.shell.windows
而不是Shell launcher
我不认为现在可以做到这一点,但正如 Ben 指出的那样,将来可能会做到。这只是通过安装带有一些调整的扩展来拥有多个终端的一种解决方法,这样您就可以同时打开 cmd、powershell 或 bash。
伙计,这是一个非常酷的扩展,实际上是我真正需要的,因为有时我需要一个 bash 和多个 PS。太好了!
效果很好!使用此方法为 Cmder 添加了一个 shell。
对于那些将要进行复制/粘贴设置的人。如果您在路径中的 Windows 机器上,请将 sysnative
替换为 System32
【参考方案5】:
从https://code.visualstudio.com/updates/v1_35 开始,您现在可以:
-
从终端“选择默认外壳”正上方的下拉菜单中选择
选择你喜欢的那个
点击+
完成
(打开分屏也是如此:在此之前执行1 + 2,然后单击分屏按钮)
(虽然会覆盖默认值,但如果这是您的流程则不再重要)
【讨论】:
【参考方案6】:要打开multiple
终端,请检查屏幕截图是否相同(在 Visual Studio 代码的右下角,它们将是一个下拉菜单,紧随其后的是 +(加号)图标。按下它新终端将打开。)。
【讨论】:
【参考方案7】:对于 Windows 终端上的 WSL Ubuntu:
文件->首选项->设置->点击右上角的代码图标
输入以下内容:
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\wsl.exe",
"git.enableSmartCommit": true
【讨论】:
【参考方案8】:在终端选项卡中,有一个拆分终端按钮。像魅力一样工作
【讨论】:
问的不是这个。【参考方案9】:即使是去年提出的问题并且答案已被接受,但我仍然觉得要回答这个问题,因为我没有找到任何简单、合适和完整的答案,而作为开发人员,我需要多个终端方便,如下所示:-
我不关心他们的路径,为 VS Code 已经具备的功能添加另一个扩展名,或者重新加载 VS Shell 等,然后手动插入和设置设置文件。
我发现这个问题被问了很多次,几乎所有人都手动设置了写一些设置等,或者有时只选择了单一类型的终端。 @Pawan 的答案有点接近,但该解决方案最终还是登陆了一个终端,进入 switch 终端的命令设置,这个将适用于 git 或任何其他终端。
如果您安装了在命令行(如 power-shell 和 git)以及 Windows 中的默认 cmd 提示符下工作的工具,那么请按照快速的三个步骤一次获取所有终端并通过单击切换到任何人。
打开终端,它应该是可见的(使用 ctrl+` 或从菜单 View-> Integrated Terminal )
打开命令搜索(使用 Ctrl+Shift+P 或从菜单 View->Command Palette...)
在命令框中键入“Terminal: Select Default Shell”以从下拉列表中选择此选项。当您选择此选项时,路径中的所有可用命令将列在下面,如下所示
只需单击您要添加的任何一个即可从命令列表中快速访问。
最后,在终端窗口中,只需点击终端列表旁边的+号,如下所示:-
在步骤 5 中选择的终端现在将在执行步骤 6 后添加到列表中,而不会删除之前的终端。
-
重复步骤 3-6 以将任何其他终端添加到命令列表。
要使用特定终端,只需在终端窗口的终端列表中选择所需的终端。
【讨论】:
这是我一直在寻找的答案,虽然我无意中发现了它。 :) 每次添加新视图时,这种方法都会覆盖默认终端。如果 Visual Studio 代码用于默认终端应保持不变的其他用途,则这不是可取的方法。 谢谢...正是我想要的。 有没有办法让设置保持不变?看起来该设置会在浏览器关闭时消失。 谢谢。我喜欢原生解决方案。【参考方案10】:目前 VS Code 支持一次仅定义一个可用终端作为默认终端,并且您不能添加多个 shell 终端。
如果您不想按照@ian0411 的建议安装“Shell Launcher”插件,那么这里是更改/选择默认终端的快速方法。
按“Ctrl + Shift + P”打开命令面板。
键入“终端:选择默认外壳”并按回车键。系统会提示您选择 Git Bash、PowerShell 或 Cmd,如下所示:
注意:这将更改默认的 shell 终端,但在您需要使用另一个终端时更改它并没有什么坏处。
顺便说一句,如果您只需要在 Cmd 和 Powershell 之间切换,那么您可以键入 cmd 或 powershell(在已打开的终端中)以切换到所需的终端。但它不适用于 Git Bash。
【讨论】:
【参考方案11】:按ctrl + shift + `
快捷方式,或按十字符号运行新终端,如果您的默认模式是powershell,则输入bash
;如果您的默认模式是bash,则输入powershell
。在这里,您的终端已切换。
【讨论】:
这确实很好用,但它不会在 VSCode 会话之间延续,因为它不会对设置进行任何更改。我个人喜欢这个,因为它只是几个按键,而且我并不总是需要多种终端类型。 这是迄今为止最好的解决方案 我来这里是为了寻找这个答案,谢谢!我希望将鼠标悬停在+
上会显示键盘快捷键!【参考方案12】:
这可以通过在末尾添加不同的键来完成。只需将您的示例更改为:
// // 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,只显示第一个终端。我必须重新打开设置并保存一次才能再次获得两个终端。如果有更好的解决方案,将发布。
【讨论】:
我在 UserSetting 中添加了这些设置,但是在第 2 和第 3 个 shell 上有一个警告,警告消息是“未知配置设置”以上是关于如何在 VS Code 中添加多个终端?的主要内容,如果未能解决你的问题,请参考以下文章
在 VS Code 中使用 Git Bash 终端 - 如何强制它在内部打开
如何将 VS Code 终端选择 UI 从选项卡更改回下拉菜单? [复制]