VSCode 更改默认终端

Posted

技术标签:

【中文标题】VSCode 更改默认终端【英文标题】:VSCode Change Default Terminal 【发布时间】:2017-11-10 04:01:03 【问题描述】:

我在我的 Windows 10 PC 上使用 Visual Studio Code。我想将我的默认终端从 Windows PowerShell 更改为 Ubuntu(在 Windows 上)上的 Bash。

我该怎么做?

【问题讨论】:

相关帖子在这里 - How to use multiple types of command shell in Visual Studio code integrated terminal 这能回答你的问题吗? How to select a different type of command shell in the Visual Studio Code integrated terminal 【参考方案1】:

您也可以通过在 VS Code 中按 F1 并在 VS Code 中输入/选择 Terminal: Select Default Profile(或较旧的 VSCode 版本)。

年长者:

【讨论】:

截至今天,在 MacOS 上,终端扩展的菜单中没有“选择默认外壳”选项!我很幸运使用***.com/a/49916667/99834 工作。 我现在正在使用 MacOS Catalina,“终端:选择默认外壳”在那里并且为我工作。 过时的答案。不适用于新的 VS 代码版本 Linux 和 MAC 的更新答案:askubuntu.com/a/1118140/810954 工作就像一个魅力。谢谢。【参考方案2】:

我只是在打开的终端中输入以下关键字;

    电源外壳 狂欢 cmd 节点 python(或python3)

请参阅下图中的详细信息。 (VSCode 版本 1.19.1 - Windows 10 操作系统)

它也适用于 VS Code Mac。我用VSCode(版本1.20.1)尝试过

【讨论】:

似乎只有在bash 被选为默认外壳时才有效。 正在寻找一种在 Windows 上打开我的 wsl 而不更改默认值的方法,创建新的,然后将默认值切换回 powershell。只需输入 wsl 即可发挥绝对的魅力【参考方案3】:

通过运行终端配置您的默认集成终端:选择默认配置文件命令,也可以通过终端下拉菜单访问。

见https://code.visualstudio.com/docs/editor/integrated-terminal#_terminal-profiles

【讨论】:

这是正确且最新的方法,但是,它在 VS Code v1.56.2 中对我不起作用。这适用于 "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\bash.exe" 当我尝试使用“terminal.integrated.shell.windows”时:“C:\\WINDOWS\\System32\\bash.exe”我收到这个警告 - “这是不推荐使用的,新的配置默认 shell 的推荐方法是创建终端配置文件”(VS Code v1.56.2) 我收到了同样的弃用警告,但至少它有效。就像我说的推荐方式在 v1.56.2 上对我不起作用。 在 VSCode 1.56.2 中也不适用于我。使用不推荐的方式,它可以工作。 有一个小的下拉菜单显示选择默认配置文件...,它将当前外壳设置为默认配置文件。【参考方案4】:

转到File > Preferences > Settings(或按Ctrl+,)然后点击右上角最左边的图标“打开设置(JSON)”

在 JSON 设置窗口中,添加以下内容(在花括号 内):

"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\bash.exe"`

(您也可以在此处放置您想要的任何其他自定义设置)

检查该路径以确保您的 bash.exe 文件在那里,否则找出它的位置并指向该路径。

现在,如果您在 VS Code 中打开一个新的终端窗口,它应该使用 bash 而不是 PowerShell 打开。

【讨论】:

自此答案以来,VSCode 似乎发生了一些变化,现在有一个带有 的按钮,您必须按下该按钮才能进入编辑器以进行此更改。此答案中的命令确实可以正常工作。谢谢你的回答。 您不应使用 System32 中的可执行文件,因为(通常)vs 代码无法访问该可执行文件。而是使用程序文件一terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe" "terminal.integrated.shell.windows""terminal.integrated.shell.linux" 已弃用,在我的情况下似乎不起作用(Linux 上的 v1.62.0)。请改用"terminal.integrated.defaultProfile.windows""terminal.integrated.shell.linux" 并分别在"terminal.integrated.profiles.windows""terminal.integrated.profiles.linux" 中定义可执行路径。另请参阅下面的@Stephanieraymos 答案。【参考方案5】:

放弃@arielhad 的解决方案...

我的 VSCode 版本是 1.57.1​​。

打开 settings.xml 文件:

Ctrl + Shift + p 键入“打开设置 (JSON)”并选择。

添加以下内容:

"terminal.integrated.profiles.windows": 
    "PowerShell": 
        "path": [
            "$env:windir\\Sysnative\\WindowsPowerShell\\v1.0\\powershell.exe",
            "$env:windir\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
        ],
        "source": "PowerShell",
        "icon": "terminal-powershell",
        "args": [
            "-NoLogo",
            "-ExecutionPolicy",
            "Bypass"
        ]
    ,
    "Command Prompt": 
        "path": [
            "$env:windir\\Sysnative\\cmd.exe",
            "$env:windir\\System32\\cmd.exe"
        ],
        "icon": "terminal-cmd"
    ,

//START: THIS DOES NOT WORK
    "Git Bash": 
        "path": [
            "C:\\Program Files\\Git\\bin\\bash.exe",
        ],
        "source": "Git Bash",
        "icon": "terminal-bash"
    
// END: THIS DOES NOT WORK

//START: THIS WORKS
    "GitBash": 
        "path": [
            "C:\\Program Files\\Git\\bin\\bash.exe",
        ],
        "icon": "terminal-bash"
    
// END: THIS WORKS

我不知道为什么第二种方式有效,但确实有效。看起来“Git Bash”是一个保留名称,我猜你不能设置路径。

【讨论】:

【参考方案6】:

如果要选择控制台的类型,可以在文件“keybinding.json”中写入(该文件可以在以下路径“File->Preferences->Keyboard Shortcuts”中找到) `

//with this you can select what type of console you want

    "key": "ctrl+shift+t",
    "command": "shellLauncher.launch"
,

//and this will help you quickly change console
 
    "key": "ctrl+shift+j", 
    "command": "workbench.action.terminal.focusNext" 
,

    "key": "ctrl+shift+k", 
    "command": "workbench.action.terminal.focusPrevious" 
`

【讨论】:

没有这个扩展Shell launcher这个答案是没用的。所以只需安装它并指定快捷方式。请注意,此快捷方式已定义 - 找到此快捷方式并检查您是否使用此快捷方式下的操作。【参考方案7】:

集成的 shell 选项仍然有效,但已被贬值。解决方法是改用集成配置文件:

    "terminal.integrated.defaultProfile.windows": "C:\\Program Files\\Git\\bin\\bash.exe (migrated)",
    "terminal.integrated.profiles.windows": 
        "C:\\Program Files\\Git\\bin\\bash.exe (migrated)": 
            "path": "C:\\Program Files\\Git\\bin\\bash.exe",
            "args": []
        
    

【讨论】:

【参考方案8】:

您可以通过按CTRL SHIFT P打开命令调色板来更改终端

或者您可以转到顶部的查看并单击“打开命令面板”

然后输入Terminal: Select Default Profile

然后你输入你想要的终端。

【讨论】:

【参考方案9】:

由于您使用 WSL,VSCode 具有专用的Remote - WSL 扩展,因此您可以直接在 VSCode 中使用 Linux 环境。在 Linux 中打开项目时,默认使用 Linux 默认 shell(默认为 bash),因此无需配置。

如果您想切换到其他配置文件,有 Terminal > Integrated > Default Profile: Linux 部分,您可以选择自己喜欢的。

【讨论】:

【参考方案10】:

按 ctrl+Shift+p -> 输入 settings.json 在文件中将“powershell”更改为“Git Bash”

【讨论】:

大声笑,是什么让这个答案与@OneShadow 的答案不同。请详细说明。

以上是关于VSCode 更改默认终端的主要内容,如果未能解决你的问题,请参考以下文章

在 vscode 中更改集成终端标题

VSCode 突然默认为集成终端和任务的 powershell

安装 zsh 并更改字体样式后,我在 VSCode 中的终端字体很小?

更改 VSCode 默认格式化程序以将数组项放在新行上?

如何将 VS Code 终端选择 UI 从选项卡更改回下拉菜单? [复制]

如何在VSCode上更改Python(Anaconda)的默认工作目录?