【问题标题】:Integrated Terminal Setting VS Code and iTerm returns zsh集成终端设置 VS Code 和 iTerm 返回 zsh
【发布时间】:2017-10-09 13:50:39
【问题描述】:

我正在尝试使用 iterm 作为 vscode 中的焦点终端。我已经设置了"terminal.external.osxExec": "iTerm.app",,但我得到的是 zsh 而不是 iTerm。

我可以右键单击文件并在 iterm 中打开,但我喜欢集成终端,并希望在这里使用 iTerm。

如何使用 iterm 作为终端?

【问题讨论】:

  • 你能解释一下你所说的“焦点终端”是什么意思吗?据我所知,VSCode 有 2 种不同的终端集成。一个是integrated terminal,例如,您可以使用“ctrl+`”(ctrl+backtick)触发它,并且您可以为其自定义 shell(bash、zsh...)。另一个是 external 终端,您使用“⌘⇧C”触发。也许某些功能允许选择打开哪个功能,但我想有些功能将仅限于集成功能。那么您能否说明您希望使用 iTerm 的哪些功能?
  • 是的,我想使用 iterm 作为我的集成终端。
  • 好的,但你能澄清一下什么功能吗?如果没有这个澄清,答案是“你可以,只需键入正确的键盘快捷键”。
  • 当然,特别是我在 iterm 中使用的主题。

标签: visual-studio-code


【解决方案1】:

您不能将 iTerm 设置为 VS Code 的集成终端。我在下面解释了原因。

iTerm 不是 shell,而是终端仿真器,在您的情况下它正在运行 zsh shell。

我相信您混淆了 Shell 和终端模拟器这两个术语。

iTerm 是一个终端模拟器。终端模拟器的一些例子是 Gnome 终端、Guake、Xterm 等。它们为安装在操作系统中的 shell 提供显示。

shell 是一个命令行界面,用于读取和解释您的命令。 shell 的示例是 Linux 中默认提供的 bash,以及 zsh、fish、sh 等其他 shell。

Visual Studio Code 集成终端使用 shell 本身,而不是终端模拟器。在 Windows 操作系统中,不存在 shell 和终端仿真器之间的区别,因此 Powershell 和命令提示符既是 shell 又是仿真器。

但是对于像 Unix 这样的操作系统,这是有区别的。

我相信您使用 iTerm 作为终端仿真器,并且使用的 shell 是 zsh(发音为 Z Shell,它是 bash Bourne Again Shell 的一个分支)。

这是Unix Shell 上的维基百科文章。这谈到了真正的 Unix shell 是什么。

这个链接是关于Terminal emulators 的,它还谈到了终端的历史。

此链接提供list of terminal emulators 可用的。 iTerm 是 Mac OS 的终端模拟器。

【讨论】:

  • 在 VS 代码中也删除了对更改集成终端颜色的支持。请参阅此question 了解更多详情。
【解决方案2】:

虽然你可以customize your normal terminal using this

然后记得转到settings 然后分配新配置以覆盖默认配置

"terminal.external.osxExec": "iTerm.app",

"terminal.integrated.fontFamily": "Meslo LG S DZ for Powerline",

"terminal.explorerKind": "external",

【讨论】:

    【解决方案3】:

    接受的答案准确地解决了这个问题。

    这里我要补充一点:

    为什么要在集成 shell 中使用 iterm2? 我的回答是:我想要 iterm2 的“选择时复制”功能。

    其实vscode对于集成终端有这个设置!

    设置>终端>集成:选择时复制

    顺便说一句,vscode还允许你拆分终端,就像iterm2一样。

    【讨论】:

      猜你喜欢
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 2018-02-14
      • 2015-10-06
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      • 2017-06-25
      相关资源
      最近更新 更多