Как интегрировать оболочку babun в код VS

Я попытался изменить настройки для "terminal.integrated.shell.windows" в babun mintty место нахождения. Но окно оболочки babun открывается отдельно и не интегрируется с кодом VS. Кто-нибудь знает, как этого добиться?

3 ответа

После двухчасовых попыток наконец-то все заработало.

Прежде чем читать мой способ сделать это, вы можете сначала решить эту проблему.

По умолчанию babun установлен в C:\Users\13000\.babun\, Таким образом, мы можем настроить его, переопределив пользовательские настройки в VS Code как:

"terminal.integrated.shell.windows": "C:\\Users\\YOURUSERNAME\\.babun\\cygwin\\bin\\zsh.exe",

После сохранения перезагрузите окно, и все готово.

Вы получите что-то вроде:

Надеюсь это поможет!

Я искал какое-либо решение для этой проблемы раньше, и я не мог найти какое-либо. Но мне было любопытно, как Бабун сам запускает команду "Открыть Бабун здесь" из контекстного меню и заметил, что она запускает эту команду:

C:\Users\YOURUSER\.babun\cygwin\bin\mintty.exe /bin/env CHERE_INVOKING=1 /bin/zsh.exe

Я пытался установить mintty.exe в качестве оболочки и используя ведущие команды в качестве аргументов оболочки, но этот метод открывает внешний терминал. Я заметил, что это поведение, потому что с помощью mintty.exeтак я заменил mintty.exe с env.exe сам. Наконец, это настройки:

"terminal.integrated.shell.windows": "C:\\Users\\YOURUSER\\.babun\\cygwin\\bin\\env.exe",
"terminal.integrated.shellArgs.windows": [
  "CHERE_INVOKING=1",
  "/bin/zsh.exe"
]

Изменить: Это не может полностью относиться к этому вопросу, но из-за сходства, я думаю, стоит упомянуть.

Во время поиска решения я встречал много других вопросов об этой проблеме для интеграции пакета терминала Atom PlatformIO IDE или среды IDE JetBrain с Babun zsh.

В случае с Atom установка переопределения оболочки на C:\Users\YOURUSER\.babun\cygwin\bin\env.exe и Shell Аргументы в CHERE_INVOKING=1 /bin/zsh.exe открывает zsh.exe в качестве интегрированного терминала в каталоге проекта.

В случае JetBrain я использовал WebStrom, и это работает:

cmd.exe "/k C:\Users\ehsan\.babun\cygwin\bin\env.exe CHERE_INVOKING=1 /bin/zsh.exe"

Просто дополняю правильный ответ, который Pramesh Bajracharya выше, вы можете переопределить пользовательские настройки в VS Code opening the VS Code и собирается:

File->Preferences->Settings

А затем вставьте в поле, показанное на правой стороне (WORKSPACE SETTINGS):

{
    "terminal.integrated.shell.windows": "C:\\Users\\YOURUSER\\.babun\\cygwin\\bin\\zsh.exe"
}

Дополнительную информацию можно найти по https://code.visualstudio.com/docs/editor/integrated-terminal

Спасибо Прамеш Байрачарья!

Другие вопросы по тегам