Visual Studio Code умеет синхронизировать расширения, настройки и сниппеты между устройствами — но всё это работает через серверы Microsoft, которые нередко оказываются недоступны за корпоративным файрволом, в офисных сетях с жёсткой фильтрацией или из регионов с ограниченным доступом. Результат — Extensions Marketplace зависает, Settings Sync не подключается, обновления не скачиваются. В этой статье разберём, как правильно настроить прокси в VS Code, чтобы все эти проблемы исчезли раз и навсегда.
Почему VS Code не работает без прокси в некоторых сетях
Visual Studio Code — это не просто текстовый редактор. Под капотом он постоянно обращается к внешним серверам: скачивает обновления расширений с marketplace.visualstudio.com, синхронизирует настройки через vscode.dev и серверы GitHub/Microsoft Account, проверяет обновления самого редактора, отправляет телеметрию (если не отключена).
Все эти запросы идут через стандартные HTTPS-соединения. И вот где начинаются проблемы:
- Корпоративные сети — системные администраторы блокируют прямой выход в интернет, требуя пропускать весь трафик через корпоративный прокси-сервер. VS Code об этом «не знает» и просто не может подключиться.
- Офисные файрволы с белым списком — разрешены только конкретные домены, а
marketplace.visualstudio.comв этот список не входит. - Региональные ограничения — в ряде стран и регионов доступ к сервисам Microsoft ограничен или нестабилен. Прокси с IP нужной страны решает проблему.
- VPN-конфликты — некоторые корпоративные VPN перехватывают трафик, но не передают его правильно, из-за чего VS Code теряет соединение с Marketplace.
- Нестабильный интернет + прокси с кешированием — прокси-сервер может кешировать пакеты расширений и ускорять установку в командах с медленным каналом.
Симптомы всех этих проблем похожи: расширения не устанавливаются или зависают на загрузке, Settings Sync выдаёт ошибку авторизации или «не удаётся подключиться», обновления VS Code не скачиваются, а в Output-панели видны ошибки ECONNREFUSED или ETIMEDOUT.
Как VS Code обрабатывает прокси: что важно знать
VS Code построен на Electron, который использует движок Chromium для сетевых запросов. Это означает, что прокси-настройки работают аналогично браузерным — редактор поддерживает HTTP, HTTPS и SOCKS5 прокси.
Важно понимать иерархию, по которой VS Code ищет настройки прокси:
- Системные настройки прокси — если в Windows/macOS/Linux настроен системный прокси, VS Code подхватит его автоматически (параметр
http.systemProxy). - Переменные окружения —
HTTP_PROXY,HTTPS_PROXY,NO_PROXY— стандартный способ для Linux/macOS. - Настройки в settings.json — явное указание прокси через параметры
http.proxyи связанные опции. - Аргументы командной строки — можно запустить VS Code с флагами прокси напрямую.
Приоритет: явные настройки в settings.json перекрывают переменные окружения, которые в свою очередь перекрывают системные настройки. Если что-то не работает — проверяйте в этом порядке.
💡 Важный нюанс
VS Code использует два отдельных сетевых стека: один для самого редактора (Electron/Chromium), другой — для расширений, которые могут делать собственные HTTP-запросы через Node.js. Настройка прокси в settings.json покрывает оба стека, но некоторые расширения игнорируют системные настройки и требуют отдельной конфигурации.
Настройка прокси через settings.json: пошагово
Это самый надёжный и рекомендуемый способ. Настройки в settings.json применяются глобально ко всем сетевым запросам VS Code.
Шаг 1: Откройте settings.json
Нажмите Ctrl+Shift+P (или Cmd+Shift+P на Mac), введите «Open User Settings (JSON)» и выберите этот пункт. Откроется файл пользовательских настроек.
Шаг 2: Добавьте параметры прокси
Вставьте нужные строки внутрь JSON-объекта. Примеры для разных типов прокси:
HTTP/HTTPS прокси (без авторизации):
{
"http.proxy": "http://192.168.1.100:3128",
"http.proxyStrictSSL": false
}
HTTP/HTTPS прокси с логином и паролем:
{
"http.proxy": "http://username:password@proxy-host:3128",
"http.proxyStrictSSL": false
}
SOCKS5 прокси:
{
"http.proxy": "socks5://username:password@proxy-host:1080",
"http.proxyStrictSSL": false
}
Шаг 3: Разберитесь с параметрами
| Параметр | Значение | Когда использовать |
|---|---|---|
http.proxy |
URL прокси | Основной параметр, обязателен |
http.proxyStrictSSL |
true / false | false — если прокси использует самоподписанный сертификат |
http.proxyAuthorization |
Base64-строка | Альтернативный способ передачи логина/пароля |
http.noProxy |
Список доменов | Домены, которые должны обходить прокси (localhost, внутренние хосты) |
http.systemProxy |
on / off / override | Управление системным прокси (новый параметр в VS Code 1.87+) |
Шаг 4: Перезапустите VS Code
После сохранения settings.json полностью закройте и снова откройте VS Code. Частичная перезагрузка (Reload Window) иногда не применяет новые сетевые настройки.
Прокси через переменные окружения (HTTP_PROXY / HTTPS_PROXY)
Этот способ особенно удобен на Linux и macOS, а также в командах, где прокси настраивается на уровне системы и должен применяться ко всем инструментам разработки — не только к VS Code, но и к npm, pip, git и т.д.
Linux / macOS — постоянная настройка
Добавьте в ~/.bashrc, ~/.zshrc или ~/.profile:
export HTTP_PROXY="http://username:password@proxy-host:3128" export HTTPS_PROXY="http://username:password@proxy-host:3128" export NO_PROXY="localhost,127.0.0.1,*.local,*.internal"
После этого выполните source ~/.bashrc (или перезайдите в сессию) и запустите VS Code из терминала командой code . — переменные будут унаследованы.
Windows — через системные переменные
Откройте «Параметры системы» → «Дополнительные параметры системы» → «Переменные среды». Добавьте переменные HTTP_PROXY и HTTPS_PROXY в раздел «Переменные пользователя» (или «Системные переменные» для применения ко всем пользователям). После сохранения перезапустите VS Code.
Запуск VS Code с прокси напрямую из командной строки
Если нужно быстро проверить без постоянной настройки:
# Linux/macOS HTTP_PROXY=http://proxy-host:3128 HTTPS_PROXY=http://proxy-host:3128 code . # Windows PowerShell $env:HTTP_PROXY="http://proxy-host:3128"; $env:HTTPS_PROXY="http://proxy-host:3128"; code .
Settings Sync через прокси: диагностика и решение проблем
Settings Sync — встроенная функция VS Code, которая синхронизирует настройки, расширения, сниппеты, горячие клавиши и профили между устройствами через аккаунт Microsoft или GitHub. Она работает через HTTPS-запросы к серверам Microsoft и GitHub, и именно здесь прокси критически важен.
Типичные ошибки Settings Sync за прокси
| Ошибка | Причина | Решение |
|---|---|---|
| «Cannot connect to the server» | Прокси не настроен или заблокирован | Настроить http.proxy в settings.json |
| «Authentication failed» | Прокси перехватывает OAuth-токен | Отключить SSL-инспекцию для *.microsoft.com |
| «Sync is turned on but not syncing» | Корпоративный прокси блокирует WebSocket | Использовать прокси с поддержкой WebSocket |
| Синхронизация зависает на «Syncing...» | Таймаут соединения через медленный прокси | Сменить прокси на более быстрый |
Диагностика через Output
Откройте View → Output и в выпадающем списке выберите «Settings Sync». Здесь видны все попытки подключения и коды ошибок. Ищите строки с ECONNREFUSED, 407 Proxy Authentication Required или CERT_UNTRUSTED — каждый из этих кодов указывает на конкретную проблему с прокси.
Если видите ошибку 407 — прокси требует авторизацию, добавьте логин и пароль в URL прокси. Если CERT_UNTRUSTED — установите "http.proxyStrictSSL": false или добавьте корневой сертификат корпоративного CA.
Домены, которые должны быть доступны для Settings Sync
Убедитесь, что через ваш прокси доступны следующие хосты:
login.microsoftonline.com— авторизация через Microsoft Accountgithub.com— авторизация через GitHubapi.github.com— API GitHub для синхронизации через Gistvscode.dev— сервис синхронизации VS Code*.vscode-cdn.net— CDN для ресурсов VS Code
Extensions Marketplace: почему не устанавливаются расширения и как исправить
Marketplace VS Code работает через домен marketplace.visualstudio.com и CDN-серверы Microsoft. Если прокси настроен правильно, установка расширений работает прозрачно. Но есть несколько специфических проблем.
Расширение устанавливается, но не работает
Многие расширения делают собственные сетевые запросы при запуске — например, скачивают языковые серверы (LSP), бинарные зависимости или обновления баз данных. Эти запросы идут через Node.js внутри расширения, и они подчиняются настройкам прокси VS Code, но только если расширение написано с учётом переменных HTTP_PROXY.
Если расширение всё равно не работает за прокси — проверьте его документацию. Многие популярные расширения имеют собственные настройки прокси. Например:
- Python (Pylance/Pylint) — использует системные переменные окружения
- ESLint, Prettier — работают локально, прокси не нужен
- GitHub Copilot — требует доступа к
api.github.com, подхватывает прокси из settings.json - Remote - SSH — прокси нужен для SSH-туннеля, настраивается отдельно в SSH-конфиге
- Docker — использует системный прокси Docker daemon
Установка расширений вручную (оффлайн)
Если прокси недоступен или нестабилен, расширения можно установить вручную через .vsix-файл. Скачайте файл расширения с marketplace.visualstudio.com на машине с доступом в интернет, затем в VS Code: Extensions → ··· → Install from VSIX.
Какой тип прокси выбрать для VS Code
Выбор типа прокси зависит от задачи. Рассмотрим основные варианты применительно к разработке.
| Тип прокси | Скорость | Надёжность | Когда подходит для VS Code |
|---|---|---|---|
| Прокси дата-центров | ⚡ Высокая | ✅ Стабильные | Обход корпоративных ограничений, скачивание расширений, CI/CD пайплайны |
| Резидентные прокси | 🔄 Средняя | ✅ Высокое доверие | Доступ к геозащищённым ресурсам, тестирование из конкретного региона |
| Мобильные прокси | 🔄 Средняя | ✅ Максимальное доверие | Редко нужны для VS Code, но полезны при разработке мобильных приложений с геотестированием |
| Корпоративный прокси (Squid, ISA) | ⚡ Высокая | ⚠️ Зависит от настроек | Офисная среда, обязателен по политике компании |
Для большинства разработчиков, которым нужно просто обойти корпоративные ограничения или работать из страны с нестабильным доступом к серверам Microsoft, оптимальным выбором будут прокси дата-центров — они быстрые, стабильные и хорошо подходят для технических задач вроде скачивания пакетов и синхронизации настроек.
Если же задача — тестирование приложения из конкретного географического региона (например, проверить, как работает ваш сервис для пользователей в Германии или США), то здесь пригодятся резидентные прокси с реальными IP домашних пользователей нужной страны.
Корпоративный прокси с SSL-инспекцией: особый случай
Корпоративные прокси с функцией SSL-инспекции (man-in-the-middle) — это отдельная головная боль для разработчиков. Такой прокси расшифровывает HTTPS-трафик, проверяет его и снова шифрует, подписывая своим корпоративным сертификатом. В результате VS Code видит «неизвестный» сертификат и отказывается работать.
Симптомы
- Ошибка
CERT_UNTRUSTEDилиunable to verify the first certificateв Output - Расширения не устанавливаются, хотя прокси указан правильно
- Settings Sync не авторизуется
- npm и pip тоже ругаются на сертификаты
Решение 1: Отключить проверку SSL (быстро, но менее безопасно)
{
"http.proxyStrictSSL": false
}
Это быстрое решение, которое отключает проверку SSL-сертификата прокси. Подходит для внутренней корпоративной сети, где прокси доверенный.
Решение 2: Добавить корпоративный CA-сертификат (правильный путь)
Получите у системного администратора корпоративный корневой сертификат (файл .pem или .crt) и добавьте его в настройки:
{
"http.proxy": "http://corporate-proxy:3128",
"http.proxyStrictSSL": true,
"http.proxyCertificates": true
}
Также добавьте сертификат в системное хранилище ОС — VS Code использует системные сертификаты начиная с версии 1.40. На Windows достаточно установить сертификат в «Доверенные корневые центры сертификации» через certmgr.msc. На Linux добавьте сертификат в /usr/local/share/ca-certificates/ и выполните update-ca-certificates.
Решение 3: Переменная NODE_EXTRA_CA_CERTS
VS Code и его расширения работают на Node.js, поэтому можно указать дополнительные CA-сертификаты через переменную окружения:
# Linux/macOS export NODE_EXTRA_CA_CERTS="/path/to/corporate-ca.pem" # Windows PowerShell $env:NODE_EXTRA_CA_CERTS="C:\certs\corporate-ca.pem"
Чек-лист: VS Code + прокси работает корректно
Используйте этот чек-лист, чтобы убедиться, что всё настроено правильно, или быстро найти причину проблемы.
✅ Базовая настройка прокси
- В
settings.jsonпрописан параметрhttp.proxyс корректным URL - URL прокси включает схему:
http://илиsocks5:// - Если прокси требует авторизацию — логин и пароль указаны в URL
- VS Code полностью перезапущен после изменения настроек
✅ SSL и сертификаты
- Если прокси с SSL-инспекцией — установлен корпоративный CA-сертификат
- Или установлено
"http.proxyStrictSSL": falseкак временное решение - В Output нет ошибок
CERT_UNTRUSTED
✅ Settings Sync
- Через прокси доступны домены
login.microsoftonline.comиvscode.dev - Авторизация через Microsoft Account или GitHub проходит успешно
- В Output → Settings Sync нет ошибок соединения
- Статус синхронизации в строке состояния показывает активный значок
✅ Marketplace и расширения
- Поиск расширений в Marketplace работает и отображает результаты
- Установка расширения завершается без ошибок
- Расширения, требующие сетевого доступа (Copilot, Remote), работают корректно
- Обновления расширений скачиваются автоматически
✅ Дополнительные инструменты разработчика
- npm настроен на работу через прокси:
npm config set proxy http://proxy:3128 - git настроен:
git config --global http.proxy http://proxy:3128 - pip (если используется Python): переменные
HTTP_PROXYустановлены
Заключение
Настройка прокси в VS Code — задача, которая решается один раз и навсегда избавляет от проблем с зависшим Marketplace, нерабочим Settings Sync и расширениями, которые не могут скачать зависимости. Ключевые выводы из этой статьи:
- Самый надёжный способ — прописать
http.proxyвsettings.json: работает и для самого редактора, и для большинства расширений. - Переменные окружения (
HTTP_PROXY,HTTPS_PROXY) — удобны для унификации настроек прокси для всего окружения разработчика. - Корпоративный прокси с SSL-инспекцией требует либо отключения
proxyStrictSSL, либо установки корпоративного CA-сертификата. - Settings Sync работает через прокси без дополнительных настроек — главное, чтобы были доступны домены Microsoft и GitHub.
- Диагностика всегда начинается с Output → Settings Sync и Output → Extensions — там видны все сетевые ошибки с кодами.
Если вы работаете в среде с ограниченным доступом в интернет или вам нужно тестировать приложение из конкретного географического региона, рекомендуем использовать прокси дата-центров для стабильной и быстрой работы с инструментами разработки — они обеспечивают высокую скорость соединения и отлично подходят для технических задач вроде скачивания пакетов, синхронизации настроек и работы с удалёнными репозиториями.