Skip to content

Среда разработки на Windows: алиасы из WSL в Windows

В предыдущих постах мы проделали титаническую работу по настройке инструментов для веб-разработки в WSL. Осталось только решить вопрос с интеграцией Windows приложений с этими инструментами.

В то время, как мы используем WSL для запуска консольных приложений, для программирования мы пользуемся редакторами кода и IDE. Они, в свою очередь, требуют наличия исполняемых файлов для интеграции, например, для управления репозиторием, запуска скриптов NPM, установки зависимостей, запуска Language Server’а для лучшего автодополнения и прочее.

Настраивать все инструменты в Windows и поддерживать два окружения не вариант. Вместо этого нужен способ запуска WSL приложений напрямую из Windows.

Алиасы (основные)

Когда я задался этим вопросом, я открыл для себя проект leongrdic/wsl-alias, который позволяет создавать .bat скрипты перенаправляющие вызов команды в WSL. Я даже принял участие в развитии этого инструмента (pull request).

Для установки откройте консоль с WSL и выполните команду:

bash <(curl -o- https://raw.githubusercontent.com/leongrdic/wsl-alias/v2.4/install.sh)

Она скачает и запустит скрипт установки, который склонирует репозиторий в вашу домашнюю директорию, поможет настроить вызов команды mount без запроса пароля и предложит выбрать алиас по-умолчанию для вызова любой команды. По окончанию работы скрипта, вы получите путь до директории, который необходимо добавить в переменную окружения PATH в Windows (туториал).

Теперь создадим алиасы. Для этого в консоли WSL выполняем:

cd ~/.wsl-alias/bin/
./wsl-alias add ssh ssh
./wsl-alias add node node
./wsl-alias add npm npm
./wsl-alias add npx npx
./wsl-alias add php php
./wsl-alias add composer composer

Это должно создать bat-скрипты в директории C:\Users\yourusername\wsl-alias, которые вы можете указывать в настройках вашего редактора кода.

Вы могли обратить внимание, что я не указал создание алиаса для Git. С ним отдельная история, которую мы рассмотрим далее.

Алиас для Git

Изначально я работал с Git через создание алиаса, указанным выше путем. Я использую в работе PhpStorm, и он очень не плохо интегрировался данным путем, потому что я настроил возврат кода ответа исходной команды и конвертирование путей в аргументах между Windows и WSL. Единственное, что IDE не понимала ситуацию, когда происходил конфликт слияния, и некоторые другие не важные кейсы.

Но оказалось, что использовать данный алиас в VS Code невозможно. Он там просто не работает. После нескольких часов отладки, я сдался и начал искать другой путь решения проблемы. И мне удалось найти еще один чудесный проект — andy-5/wslgit. Отличительной особенностью данного проекта оказалось то, что он также конвертирует пути в ответе команды. Это позволяет использовать его совместно с VS Code, а так же исправила те незначительные ошибки в работе с PhpStorm.

Для установки достаточно скачать .exe со страницы релизов проекта на Github. В последней версии на момент написания статьи (0.7.0) появилась сборка для работы с локальными дисками, примонтированными к корню. Скачайте файл wslgit-mount-at-root.exe, поместите его в директорию с другими алиасами и назовите git.exe. Теперь вы можете указывать данный файл в настройках текстового редактора.

Вместо заключения

Спасибо, что дочитали до конца. Надеюсь, понравилась данная серия постов.

Данная запись является частью серии "Среда разработки на Windows".

Среда разработки на Windows: Docker