Гид по технологиям

Использование Visual Studio Code с WSL

7 min read Разработка Обновлено 05 Dec 2025
VS Code и WSL: подключение и настройка
VS Code и WSL: подключение и настройка

Изображение: интерфейс Visual Studio Code с настройкой для WSL

Оглавление

  • Почему использовать VS Code и WSL
  • Как работает расширение WSL для Visual Studio Code
  • Как подключить VS Code к WSL
  • Как устанавливать расширения в WSL Visual Studio Code
  • Совместимость и ограничения
  • Быстрое руководство (SOP) и пошаговые сценарии устранения проблем
  • Ролевые чек-листы
  • Короткий словарь терминов
  • Часто задаваемые вопросы

Почему использовать VS Code и WSL

Windows Subsystem for Linux (WSL) позволяет запускать полноценную Linux-среду внутри Windows без виртуальной машины. Для разработчика это значит:

  • Рабочая среда Linux (bash, инструменты сборки, менеджеры пакетов) рядом с привычными Windows-приложениями.
  • Простая интеграция с файловой системой Windows и доступ к аппаратуре без перезагрузки или съемного носителя.

Проблема: графические Linux-приложения в WSL (особенно на старых конфигурациях) работают медленно. Visual Studio Code как GUI лучше запускать на Windows, но код и инструменты — в Linux. Расширение WSL решает эту проблему: оно запускает на Windows клиент VS Code и отдельный серверный компонент в WSL, который выполняет операции над файлами и запускает инструменты разработки.

Важно: «расширение WSL» не переносит все функции автоматом — некоторые расширения, требующие локальных бинарников (компиляторы, Docker, интерпретаторы), нужно установить внутри WSL.

Как работает расширение WSL для Visual Studio Code

Коротко: расширение создаёт удалённое соединение между Windows-версией VS Code и экземпляром VS Code Server внутри выбранного дистро WSL. Фактически вы управляете файлами в WSL с интерфейса Windows, а тяжёлые операции выполняются в Linux-среде.

Преимущества:

  • Быстрая работа GUI (Windows) + нативные Linux-инструменты (WSL).
  • Отладка и запуск с использованием Linux-окружения (например, systemd-замены, Linux-утилит).
  • Управление пакетами и SDK через пакетный менеджер дистро.

Ограничения:

  • Расширения, которые зависят от нативных бинарников, требуют установки внутри дистро (см. раздел «Как устанавливать расширения»).
  • Некоторые GUI-программы в WSL остаются медленными; если нужна 100% нативная производительность GPU/GUI — рассматривайте dual-boot или полноценную Linux-машину.

Иллюстрация: список отключённых расширений в среде WSL

Как подключить VS Code к WSL

  1. В Visual Studio Code откройте боковую панель Расширения и введите «WSL» в поиске расширений.

Поиск расширения WSL в Visual Studio Code

  1. Нажмите кнопку “Установить” напротив расширения «Remote - WSL» и дождитесь завершения установки.

Кнопка установки расширения Remote - WSL в VS Code

  1. Откройте палитру команд: Справка -> Показать все команды либо сочетанием клавиш Ctrl+Shift+P.

Палитра команд Visual Studio Code

  1. Введите команду WSL: Connect to WSL и выберите дистро, к которому хотите подключиться.

Подключение Visual Studio Code к WSL

Примечание: Внизу слева в окне VS Code вы увидите префикс WSL: <имя-дистро>, когда соединение установлено.

Если расширение не обнаруживает WSL, выполните в Windows PowerShell с правами администратора:

wsl --install

или установите нужный дистро через Microsoft Store и повторите попытку.

Как устанавливать расширения в WSL Visual Studio Code

После подключения в списке расширений появится новая категория — “Local - Installed” (или “Локально — Установлено”). Чтобы расширение работало в контексте WSL:

  1. Откройте панель Расширений.
  2. Найдите нужное расширение.
  3. Нажмите “Install on WSL: <дистро>” (Установить в WSL: <дистро>).

Кнопка установки расширения внутри WSL в VS Code

Какие расширения следует устанавливать в WSL:

  • Языковые сервера, которые запускают процессы (например, rust-analyzer, gopls), если они должны работать против нативных бинарников в Linux.
  • Расширения, использующие компиляторы, интерпретаторы или менеджеры пакетов (Node.js, Python, GCC).

Не обязательно устанавливать расширения, которые обеспечивают только клиентскую функциональность (цветовая тема, сниппеты), их можно оставить в Windows-клиенте.

Совместимость и ограничения

Таблица совместимости (обобщённо):

КомпонентРаботает через WSLТребует установки в WSL
Цветовая тема / сниппетыДаНет
Языковые серверы с нативными бинарямиЧастичноДа
Docker (локальный daemon Windows)Да, через Docker DesktopЕсли нужен Linux-сокет — требуется настройка
GUI Linux-приложенияЧастично, зависит от WSLg и GPU

Когда WSL не подходит:

  • Если вы разрабатываете высокопроизводительные GPU-приложения и вам нужна максимальная производительность — лучше нативный Linux.
  • Если вашему рабочему процессу нужны специфичные системные службы, недоступные в WSL (например, полноценный systemd в старых версиях), рассмотрите виртуальную машину.

Быстрое руководство: SOP для начала работы

Шаги «быстро запустить проект»:

  1. Установите WSL и дистро (если ещё не установлен): wsl --install.
  2. Установите VS Code и расширение Remote - WSL.
  3. Подключитесь: Ctrl+Shift+P -> WSL: Connect to WSL -> выберите дистро.
  4. В VS Code откройте папку: Файл -> Открыть папку -> /home/<ваш-пользователь>/проект.
  5. Установите нужные расширения в WSL (Install on WSL).
  6. Откройте терминал (Terminal -> New Terminal) — по умолчанию он будет bash вашего дистро.
  7. Запустите сборку/тесты и отладку внутри терминала WSL.

Критерии приёмки (проверить перед началом работы):

  • Внизу слева отображается WSL: <дистро>.
  • Терминал запускается с оболочкой дистро (bash/zsh).
  • Языковая подсветка и отладка работают в контексте WSL.

Инцидентный план: устранение проблем и откат

Ситуация: VS Code не подключается к WSL.

Пошаговый план:

  1. Перезагрузите Windows и службу WSL: в PowerShell (Админ) выполните wsl --shutdown и затем откройте снова VS Code.
  2. В палитре команд выполните Remote-WSL: Reinstall VS Code Server in WSL для принудительной переустановки серверной части.
  3. Проверьте версию WSL: wsl -l -v — убедитесь, что дистро включено и версия — 2.
  4. Если ошибка связана с конкретным расширением — удалите его из WSL и установите заново через кнопку “Install on WSL”.
  5. Откат: если проблемы возникли после апдейта расширения, переключитесь на Windows-клиент, закройте удалённое соединение (Ctrl+Shift+P -> remote: Close Remote Connection) и работайте локально, пока не найдёте исправление.

Ролевые чек-листы

Разработчик (frontend/backend):

  • Установить WSL и дистро.
  • Подключить VS Code к WSL.
  • Установить Node/Python/Go внутри дистро.
  • Установить нужные расширения в WSL.
  • Запустить тесты и сборку в терминале WSL.

Студент или начинающий:

  • Убедиться, что VS Code и Remote - WSL обновлены.
  • [ ] Открыть проект из пути внутри WSL (/home/...).
  • Использовать встроенный терминал для команд.

Системный администратор / DevOps:

  • Проверить версию WSL (wsl -l -v).
  • Настроить интеграцию с Docker Desktop, если требуется.
  • Настроить политики безопасности (антивирус, доступы к портам).

Мини-методология: как выбирать, где ставить расширение

Правило 3-х вопросов:

  1. Требует ли расширение нативных бинарников или запускает процессы? Если да — ставьте в WSL.
  2. Нужно ли расширению доступ к Windows-специфичным API (например, SharePoint)? Если да — ставьте в Windows-клиент.
  3. Это только визуальная/темовая доработка? Тогда ставьте в клиент.

Пример сценариев: когда это может не сработать

  • Вы используете расширение, которое автоматически обнаруживает исполняемые файлы в PATH Windows — в WSL оно может ничего не найти, если не настроены символьные ссылки или переменные окружения.
  • Инструменты CI, привязанные к Windows-окружению, могут вести себя иначе в WSL.

Диаграмма принятия решения (Mermaid)

flowchart TD
  A[Нужно ли использовать Linux-инструменты?] -->|Да| B[Подключиться к WSL]
  A -->|Нет| C[Работать в Windows-клиенте]
  B --> D{Расширение требует нативных бинарей?}
  D -->|Да| E[Установить расширение в WSL]
  D -->|Нет| F[Установить расширение в клиенте]

Советы по безопасности и приватности

  • Не храните секреты (ключи, .env) в общедоступных директориях; используйте системные менеджеры секретов внутри дистро.
  • Проверьте правила антивируса/файрвола: некоторые средства безопасности Windows могут блокировать работу серверной части VS Code в WSL.
  • Для корпоративных дистро согласуйте политики установки и обновлений расширений.

Короткий словарь терминов

  • WSL — Windows Subsystem for Linux, подсистема Windows для запуска Linux-бинарников.
  • VS Code Server — серверная часть VS Code, работающая в удалённой среде (в данном случае — в WSL).
  • Дистро — сокращение от дистрибутива Linux (Ubuntu, Debian и т.д.).

Часто задаваемые вопросы

Как вернуться к обычному Visual Studio Code после установки расширения WSL?

Чтобы разорвать удалённое соединение: нажмите Ctrl+Shift+P и введите remote: Close Remote Connection. После этого VS Code вернётся в локальный режим. Чтобы снова подключиться — используйте WSL: Connect to WSL.

Доступно ли расширение WSL в VSCodium?

Разработанное Microsoft расширение Remote - WSL официально поддерживается в Visual Studio Code и, как правило, не включается в сборки VSCodium. В VSCodium могут отсутствовать некоторые расширения, которые доступны в официальном магазине Microsoft.

Заключение

Использование VS Code с WSL — надёжный способ сочетать производительный Windows GUI и нативные Linux-инструменты. Это особенно полезно для проектов, где сборка, тесты или рантайм зависят от Linux-среды. При настройке обратите внимание на то, какие расширения и бинарники нужно ставить непосредственно в дистро, и пользуйтесь простым SOP для входа в рабочую сессию.

Автор снимков экрана: Terenz Jomar Dela Cruz. Источник изображения: Unsplash.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Рисовать в письмах Windows 10 Mail
How-to

Рисовать в письмах Windows 10 Mail

Как отключить оповещения на iPhone
iPhone

Как отключить оповещения на iPhone

Как включить Dashboard в macOS Mojave
macOS

Как включить Dashboard в macOS Mojave

Отключить и удалить все будильники на iPhone
How-to

Отключить и удалить все будильники на iPhone

Исправление 0x80004005 в Windows 11
Windows

Исправление 0x80004005 в Windows 11

Кнопка «Применить» в msconfig неактивна — исправление
Windows

Кнопка «Применить» в msconfig неактивна — исправление