Терминал Windows с WSL — начальный каталог находится по тому же пути, что и запущенный wt

Терминал Windows с WSL — начальный каталог находится по тому же пути, что и запущенный wt

Для различных профилей терминала Windows, по-видимому, возможно открыть новую оболочку в каталоге, в котором была открыта оболочка (например, опция контекстного меню «Открыть в терминале»), для WSL, с другой стороны, это, по-видимому, сложно настроить.

Вы можете задать свой путь запуска wt, передав аргумент "cd" в выполнение wsl. Я обнаружил этоздесь

Однако мне не удалось предоставить аргумент cd с моим текущим каталогом. Я попытался передать ему переменную окружения %cd%, простую и стильную точку, но безуспешно.

"commandline": "wsl --cd %cd%", "commandline": "wsl --cd .",

Я также нашелэта почтаэто говорит мне, что есть встроенный инструмент, который может преобразовывать пути в WSL и из него. Я подумал, что это может быть полезно для преобразования текущего пути в путь WSL и предоставления его в свойстве "startingDirectory": "X", , так как этот принимает только пути WSL в качестве входных данных.

Я знаю, что можно сразу перейти в каталог, в котором была открыта оболочка, потому что эта функциональность уже существует, когда вы нажимаете Shift + открыть контекстное меню (щелчок правой кнопкой мыши) и выбираете опцию "Открыть оболочку Linux здесь". Однако это открывает оболочку только в отдельном окне wsl, а не в терминале Windows.

решение1

нашел решение, по умолчанию (когда установлен ubuntu) есть 2 профиля wt. один с символом ubuntu и один с linux penguin. настройка запуска ubuntu запускает in ubuntu.exepath. настройка запуска wsl (penguin) запускаетC:\WINDOWS\system32\wsl.exe -d Ubuntu

Пока что я решил эту проблему только для настройки запуска WSL.

если вы удалите -d Ubuntuwsl, он запустится в каталоге, в котором была запущена оболочка. Таким образом, настройки вашего терминала Windows для профиля wsl должны выглядеть следующим образом для свойства «Командная строка». C:\WINDOWS\system32\wsl.exe

Связанный контент