当我连接到远程 ssh 工作区时,如何更改用于 VS Code 集成终端的 shell ?
问问题
4044 次
3 回答
5
添加到@Matt Bierner 的答案。
现在的较新版本vscode
允许您为终端设置配置文件并为它们提供您的自定义名称,并且该名称应该在您的远程设置中引用。
CTRL+ SHIFT+ P->Preferences: Open Settings (JSON)
用户配置
...
"terminal.integrated.profiles.linux": {
"s-mann-term": {
"path": "/usr/bin/zsh"
},
"bash": {
"path": "bash"
},
"zsh": {
"path": "zsh"
},
"my-fav-term": {
"path": "fish"
}
},
"terminal.integrated.defaultProfile.linux": "s-mann-term"
...
这将使所有主机默认为/usr/bin/zsh
(我只是path
在我的个人资料中使用了密钥,但是您可以修改许多其他选项)
注意:您也可以为同一个外壳添加多个配置文件。例如,5 个不同配置的配置
zsh
文件。
CTRL+ SHIFT+ P->Preferences: Open Remote Settings (SSH: az-box1)
az-box1 配置
...
"terminal.integrated.defaultProfile.linux": "my-fav-term"
...
但az-box1将默认为fish
于 2021-07-08T08:17:48.583 回答
0
以上答案都没有为我工作,我一直试图让默认 shell 成为 zsh 好几个月了。最终起作用的是将以下内容添加到我的顶部.bashrc
:
if [[ "$TERM_PROGRAM" == "vscode" ]]; then
# ~/.profile is run by the login shell (this is what ssh uses)
# ~/.bashrc is run by the interactive shell (this is what vscode uses)
# Therefore, we only need to change the shell to zsh here since
# vscode will run ~/.bashrc for us.
exec zsh -l
fi
于 2022-02-17T18:11:53.073 回答