【问题标题】:How does Visual Studio Code (VSCode) know environment variables set in ~/.config/fish/config.fish?Visual Studio Code (VSCode) 如何知道 ~/.config/fish/config.fish 中设置的环境变量?
【发布时间】:2020-02-11 17:07:51
【问题描述】:

环境:

  • macOS 卡塔利娜
  • Visual Studio 代码
  • 鱼壳

我使用 fish 作为默认 shell,几乎每个环境变量,包括 $PATH,都设置在 ~/.config/fish/config.fish(bash 中的 ~/.bash_profile)中。当我使用 Visual Studio Code 时,它​​知道在~/.config/fish/config.fish 中设置的环境变量,尽管它的父进程是/sbin/launchd,而不是鱼。这是怎么发生的?

【问题讨论】:

    标签: macos visual-studio-code environment-variables


    【解决方案1】:

    默认外壳

    这个chsh -s /usr/local/bin/fish 命令将Fish Shell 设为您的默认login(1) shell(如Installing Fish shell on MacOS 自述文件中所述)。除非另有说明,否则 Fish 将用作所有内容的默认 shell。

    它怎么知道$PATH

    每次启动新的 Fish Shell 实例时,它都会查看 ~/.config/fish/config.fish 文件以进行配置和调整;在里面你可能设置了$PATH 变量,它将被输入到$PATH 变量中。

    Visual Studio 代码

    在 Linux 和 macOS 上使用的 shell 默认为 $SHELL,在 PowerShell 上 早期版本的 Windows 上的 Windows 10 和 cmd.exe。这些可以 通过在用户中设置 terminal.integrated.shell.* 手动覆盖 设置。参数可以使用 terminal.integrated.shellArgs.* 用户设置Read more about configuring the shell

    在 OSX 中,terminal.integrated.shell.osx 属性通过默认(null)或用户指定的 shell 调用 $SHELL

    概述

    登录(1) --> 设置$SHELL = /usr/local/bin/fish --> Visual Studio Code 获取 $SHELL --> 启动一个新的 Fish Shell 实例 --> 鱼壳加载~/.config/fish/config.fish --> 设置$PATH 和其他配置

    【讨论】:

      猜你喜欢
      • 2014-10-27
      • 2019-10-22
      • 2018-07-13
      • 2011-03-04
      • 2019-06-05
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      相关资源
      最近更新 更多