Как Visual Studio Code (VSCode) узнает переменные среды, заданные в ~ / .config / fish / config.fi sh? - PullRequest
1 голос
/ 11 февраля 2020

Среда:

  • macOS Catalina
  • Код Visual Studio
  • fi sh оболочка

I ' m использует fi sh в качестве оболочки по умолчанию, и почти каждая переменная окружения, включая $PATH, устанавливается в ~/.config/fish/config.fish (~/.bash_profile в bash). Когда я использую код Visual Studio, он знает переменные среды, установленные в ~/.config/fish/config.fish, хотя его родительский процесс - /sbin/launchd, а не fi sh. Как это происходит?

1 Ответ

3 голосов
/ 08 марта 2020

Оболочка по умолчанию

Эта chsh -s /usr/local/bin/fish команда сделала Fi sh Оболочка по умолчанию login (1) оболочка (как упоминалось в Установка оболочки Fi sh на MacOS readme). Fi sh будет использоваться в качестве оболочки по умолчанию для всего, если не указано иное.

Как он узнает $PATH

Каждый раз, когда запускается новый экземпляр оболочки Fi sh, он выглядит в ~/.config/fish/config.fish файле для конфигураций и настроек; внутри вас могут быть установлены $PATH переменные, и они будут переданы в $PATH переменную.

Код Visual Studio

В оболочке по умолчанию используется $ SHELL для Linux и macOS, PowerShell в Windows 10 и cmd.exe в более ранних версиях Windows. Их можно переопределить вручную, установив терминал.integrated.shell. * В пользовательских настройках. Аргументы могут быть переданы в терминальную оболочку с помощью терминала.integrated.shellArgs. * Пользовательские настройки Подробнее о настройке оболочки

В OSX это свойство terminal.integrated.shell.osx, которое вызывает $ SHELL с помощью defualt (null) или указанной пользователем оболочки

Обзор

login (1) -> Sets $SHELL = /usr/local/bin/fish -> Visual Studio Code получает $SHELL -> Запускает новый экземпляр оболочки Fi sh -> Fi sh загрузка оболочки ~/.config/fish/config.fish -> set $PATH и другие настройки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...