Настройка прокси в Visual Studio Code

Комментарии: 0

Visual Studio Code (VS Code) считается одним из самых востребованных редакторов кода. Он не только совместим со всеми существующими операционными системами, но и поддерживает наибольшее количество языков программирования, имеет множество встроенных инструментов, позволяет без установки среды разработчика быстро и легко редактировать код. Однако полноценная разработка облачных и веб-приложений невозможна без использования сетевых функций, доступ к которым по разным причинам может быть ограничен. Настройки прокси в VS Code помогают решить множество проблем, не нарушая правил безопасности при работе с внешними ресурсами.

Зачем использовать прокси в Visual Studio Code?

Потребность в использовании прокси в VS Code может возникнуть в ряде случаев, которые не ограничиваются целью скрыть свой IP-адрес или повысить уровень безопасности. Промежуточные сервера помогают решить следующие задачи:

  • загрузка библиотек и расширений, соответствующих языку программирования;
  • получение доступа к API;
  • работа с удаленными репозиториями;
  • тестирование веб-ресурсов;
  • контроль загрузки расширений из Visual Studio Marketplace и ограничение сетевых запросов исполняемого кода;
  • автообновление самого редактора.

Все эти действия в условиях геоограничений, а также политики безопасности многих компаний, которые контролируют трафик и блокируют доступ к сторонним ресурсам, можно легко выполнить, задействовав настройки прокси в Visual Studio Code.

Настройка прокси в VS Code: как выполнить?

Как и любая другая среда разработки, редактор кода от Microsoft позволяет настроить использование промежуточного сервера для безопасного доступа к сети. Существует несколько способов, как это сделать. Рассмотрим их подробнее, взяв во внимание тип операционной системы.

Настройка прокси через интерфейс VS Code

Самый простой способ, как установить прокси в Visual Studio – через интерфейс. Детальная инструкция имеется на официальном сайте разработчика, но как показывает практика, в ней есть неточности: отсутствует создание или изменения файла settings.json, который, по сути, и влияет на результат подключения. Дополнив инструкцию, предлагаем ее рассмотреть.

Чтобы настроить промежуточный сервер в VS, выполняем следующие действия:

  1. Запускаем редактор кода, нажимаем на значок шестеренки и выбираем “Settings”.

    1.png

  2. В разделе “Application” переходим к “Proxy”. В одноименное поле вводим данные промежуточного сервера в формате:
    • http://username:password@host:port — если требуется авторизация;
    • http://host:port — без авторизации.

    2.png

    Здесь нужно отметить, что если ваш пароль содержит @, #, *, то система не примет такую конфигурацию. Вам потребуется заменить специальные символы на коды ASCII и добавить «%» к коду ASCII.

  3. В зависимости от вашей операционной системы, переходим по адресу:
    • Linux: $HOME/.config/Code/User/settings.json;
    • Windows: %APPDATA%/Code/User/settings.json;
    • macOS: $HOME/Library/Application Support/Code/User/settings.json.

    Или нажимаем на кнопку “Edit in settings.json” в настройках программы.

    3.png

  4. Если вы перешли по адресу, то нужно нажать на файле правой кнопкой мыши и выбрать “Открыть”, “С помощью Блокнот”. Если доступ к settings.json вы получили через интерфейс программы, то в редакторе откроется новая вкладка. В обоих случаях добавляем следующий код и сохраняем его.
    
    {
    "http.proxySupport": "on",
    "http.proxy": "http://user:password@host:port",
    "http.proxtStrictSSL": "false",
    "http.proxyAuthorization": null
    }
    
  5. Перезагружаем Visual Studio, чтобы изменения вступили в силу.

Важно отметить, что если в строке “http.proxy” вы не указали имя хоста, программа будет использовать его из переменных сред.

Установка прокси в терминале Visual Studio Code

Установить прокси в терминале Visual Studio можно следующим способом.

  1. Вызываем консоль, нажав на троеточие на панели инструментов. Из выпадающего списка выбираем “Terminal”, “New Terminal”.

    5.png

  2. В командной строке вводим: code --proxy-server="http://user:password@host:port" с авторизацией или code --proxy-server="http://host:port" без логина и пароля. После выполнения этих команд параметры промежуточного сервера будут установлены.

    13en.png

Нужно отметить, что в консоли можно прописать https вместо http и указать данные для этого типа.

Настройка прокси через переменные среды

Этот метод установки прокси для VS Code — запасной вариант, когда невозможно задать нужные параметры вышеуказанными способами.

  1. Чтобы добавить новую переменную среду на ПК под управлением Windows, нужно в поисковой строке ввести запрос “Переменные …” и выбрать “Изменение системных переменных среды”.

    6.png

  2. Появится новое окно. Во вкладке “Дополнительно” выбираем “Переменные среды”.

    7.png

  3. В пользовательском разделе нажимаем на кнопку “Создать”.

    8.png

  4. Указываем имя переменной: HTTP_PROXY или HTTPS_PROXY и задаем значение в формате “host:port”.

    9.png

Чтобы Visual Studio использовал эти значения, необходимо в настройках самой программы, как мы рассматривали выше, не указывать IP и порт. Иначе подключение будет работать со сбоями.

Важно обозначить, что данный метод подойдет не всем пользователям. Установив переменные среды для Windows 10 и выше, все программы буду их использовать и может появиться окно ввода логина и пароля при использовании приватного сервера-посредника. Это не совсем корректно и может мешать работе остального программного обеспечения. Выход из такой ситуации есть — отдельная установка переменных сред под конкретный проект. В данном случае используется сторонняя утилита, например, Docker, пишется код для её управления с учетом конкретного языка программирования.

Решение проблем с прокси в VS Code

Вышеописанные настройки в VS просты в реализации на практике. Но даже при правильно заданных параметрах могут возникать проблемы. Причина неполадок чаще всего кроется в неправильной конфигурации самого редактора, операционной системы или в отсутствии нужных разрешений. Рассмотрим самые часто встречаемые ошибки.

Не удается подключиться к промежуточному серверу

Эта проблема может возникать в случае, когда параметры сервера-посредника одновременно указаны в настройках редактора, переменных средах и учетных данных Windows. Здесь нужно выбрать один из вариантов настройки, которые мы описали выше. Но, помимо уже описанных вариантов, есть ещё одна причина проблемы — сохраненные в Windows учетные данные для прокси. Сейчас покажем, как их удалить.

  1. Переходим в “Панель управления”, “Диспетчер учетных данных”, “Учетные данные Windows”.

    10.png

  2. Находим строку с адресом промежуточного сервера и удаляем её.

    11en.png

  3. Теперь нужно установить прокси в Visual Studio любым способом, описанным выше, и перезагрузить ПК.

Необходима авторизация прокси-сервера

Часто в Visual Studio сторонние расширения становятся причиной ошибок Proxy Authentication Required с различным кодом. Обычно такая проблема решается простым перезапуском редактора и повторным вводом логина и пароля в настройках. Однако неполадка может быть связана и с тем, что сервер-посредник запрашивает данные для *.visualStudio.microsoft.com, а не *.microsoft.com адресов.

В настройках Windows в список разрешений нужно добавить такие URL-адреса:

  • *.windows.net
  • *.microsoftonline.com
  • *.visualstudio.microsoft.com
  • *.microsoft.com
  • *.live.com

Далее нужно запустить консоль с правами Администратора и задать с помощью команды netsh хост и порт:


netsh winhttp set proxy proxy:port

12en.png

Лучшие прокси для редактора кода Visual Studio

Если вы решились установить прокси для Visual Studio и не знаете, какой тип выбрать, то предлагаем разобраться в этом вопросе.

На сайте Microsoft указано, что редактор кода поддерживает все типы промежуточного сервера, которые работают посредством протоколов HTTP и HTTPS.

Анализ подходящих предлагаем выполнить в два этапа:

  • разбор разницы между протоколами;
  • подбор сервера с учетом основных задач.

Протоколы передачи данных HTTP и HTTPS отличаются между собой наличием шифрования. Первый тип его не поддерживает, в то время как второй ориентирован на максимальную защиту передаваемых данных.

Кроме шифрования эти протоколы имеют различную степень защиты и производительность. Так, HTTP передает данные по принципу “запрос — ответ”. Никакой анонимности при этом не гарантируется. HTTPS имеет лучшие показатели безопасности. Он пакует данные, шифрует их и передает на сервер, не имея к ним доступа. Здесь срабатывают три уровня защиты: сохранность, шифрование, аутентификация.

Учитывая тот факт, что второму протоколу нужно время, чтобы зашифровать информацию, скорость выполнения запроса будет ниже, чем у незащищенного HTTP и неправильные настройки прокси в VS будут также отрицательно влиять на работу редактора.

Ознакомившись с такими особенностями HTTP и HTTPS, определим сферу их использования в программировании, а также какой лучше купить прокси-сервер для Visual Studio.

Если вы пишете код для веб-приложений, которые требуют защиты данных: социальные сети, мессенджеры, почтовые сервисы, IP-телефония, то внимание стоит обратить на прокси, поддерживающие HTTPS.

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

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

Заключение

Рассмотрев методы, как установить прокси в редакторе кода, а также основные моменты в подходе к выбору подходящего решения, можно сделать вывод, что правильная настройка промежуточного сервера имеет большое значение для обеспечения бесперебойной и стабильной работы, особенно в условиях ограниченного интернет-соединения. Прокси-сервер позволяет получить доступ к удаленным репозиториям, маркетплейсам расширений, серверам для обновления самого редактора и прочим недоступным ресурсам, которые критически важны для эффективной работы программиста.

Комментарии:

0 комментариев