GitHub Copilot в JetBrains IDEs в РФ
GitHub Copilot в JetBrains IDEs в РФ

Introduction

В 2022 году в публичный доступ вышел GitHub Copilot – довольно удобный современный инструмент для разработчиков, использующий генеративные языковые модели и код публичных репозиториев GitHub. Нельзя сказать, что многие приняли такую разработку с распростертыми объятьями, но все же это большой вклад в развитие инструментов для программистов и не только. Я знаю, что в компаниях запрещают пользоваться любыми AI инструментами для написания кода, однако дома, для личных проектов, фриланса Copilot – неотъемлемый инструмент.

Вышли в свет и различные интеграции с Copilot в 2023 году. Вскоре после этого его использование в РФ и ряде других стран было ограничено (как и многих других сервисов). Опытным пользователям ПК эти ограничения не показались проблемой, однако я был сильно удивлен, когда узнал, что некоторые из моих знакомых до сих пор не знают, как использовать столь мощный инструмент.

В этой короткой статье поделюсь своим опытом взаимодействия с GitHub Copilot, а главное тем, как его использовать в IDE от JetBrains. Приятного чтения!

Получаем GitHub Copilot

Не буду отнимать хлеб у коллег, поэтому про способы (бесплатного) получения Copilot вы сможете почитать в Интернете, статья не об этом. Скажу только, что я получал доступ с помощью GitHub Student Pack, есть много гайдов о том как это сделать. Обращаю внимание на то, что нужно правильно оформить справку перед отправкой GitHub.

Подробнее о том, как это сделать можно почитать здесь.

Конечно, вы также можете попробовать оплатить подписку самостоятельно. Способ выше актуален только для школьников и студентов, ведь вам нужна справка из ВУЗа/Школы. (Ее ведь очень сложно сделать самому…)

Качаем, настраиваем Tor

Начало работы

Для обхода блокировки будем использовать Tor. Нам нужен только CLI версия, поэтому браузер устанавливать не придется.

Достать CLI Tor можно 2 способами:

  • Найти и установить с помощью вашего package manager (для MacOS это brew)

  • Скачать TorBrowser и в файлах программы найти исполняемый Tor. В Windows можно найти по пути Tor Browser ▸ Browser ▸ TorBrowser ▸ Tor

Для Windows

Если вы на Windows, то можете сами пособирать все файлы: obfs4proxy, geoip и другие. Либо взять у меня готовый пакет. В целом все они есть в файлах TorBrowser, только вот с obfs4proxy у меня были проблемы.
Я уже собрал все в один архив. Нужно разархивировать и папку Tor поместить в Program Files.

А как настроить?

1. Получаем мосты

  1. На сайте выбираем obsf4 https://bridges.torproject.org/options/

  2. Проходим капчу

  3. Копируем мосты (их два)

2. Вставляем в torrc

Файл torrc – конфигурационный.

В Windows:

C ▸ Program Files ▸ Tor ▸ torrc

В файл записываем мой шаблон.

В MacOS (Linux):

usr ▸ local ▸ etc ▸ tor ▸ torrc

В файл записываем мой шаблон.

Также в этот файл вставляем наши строки мостов. Обратите внимание, что перед obsf4 нужно добавлять слово Bridge для каждой строки конфигурации моста.

3. Автозапуск

В Windows:

Создаем сервис командой:

"C:\Program Files\Tor\tor\tor.exe" —nt-service "-f" "C:\Program Files\Tor\torrc"

В диспетчере задач можно узнать состояние сервиса и включить автоматический запуск при старте системы.

В MacOS:

Создаем сервис командой:

brew services start tor

В настройках переходим в пункт Настройки ▸ Основные ▸ Объекты входа и tor включаем.

Что можно настроить?

В поле HTTPTunnelPort можно указать порт, который будет проксировать трафик для copilot.

Подключаем в IDE

1. Конфигурация Proxy

В любой JetBrains IDE заходим в настройки и ищем пункт Proxy. Выставляем настройки как на скриншоте.

Proxy settings
Proxy settings

Host name – только 127.0.0.1 (localhost не работает)

No proxy – необязательно.

Port number – ваш порт из предыдущего пункта.

2. Скачиваем плагин Copilot.

Он пока не будет работать.

3. Сохраняем, перезапускаем.

Входим в аккаунт Copilot и радуемся.

Важные доработки для Android Studio

Если вы работаете в Android Studio, то вероятно вы используете Gradle. Каждый раз при запуске, Studio будет просить добавить конфигурацию прокси для демона Gradle.

Нужно найти свой gradle.properties (Global) файл Gradle системный (именно глобальный). Он будет внизу в списке файлов проекта, если выбрать отображение проекта как Android.

Там нужно добавить следующие строки:

systemProp.http.nonProxyHosts=dl.google.com|repo.maven.apache.org
systemProp.https.nonProxyHosts=dl.google.com|repo.maven.apache.org
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=<ВАШ ПОРТ>
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=<ВАШ ПОРТ>

Делаем это, чтобы не проксировать трафик загрузки зависимостей проекта, какие-то из хостов не работают и Gradle не может найти ресурс для загрузки. Не забывайте перезапускать программу после изменений настроек прокси.

Заключение

Я привел подробную инструкцию по настройке Copilot. Это решение работает у меня уже больше года на маке и ноутбуке с Windows. К преимуществам такого подхода относится то, что нам не нужно прогонять весь трафик устройства через VPN или Proxy, это полностью бесплатно, быстро работает и легко настраивается.

Я не сторонник написания кода вслепую, не использую Copilot для разработки сложных частей проекта. Но это незаменимый инструмент для составления тестов, моковых данных, моделей и других рутинных задач. Используйте его с умом!

Если хотите видеть больше интересных публикаций, подписывайтесь на мой тг канал https://t.me/stakan_live

Комментарии (40)


  1. TheFoxDK
    21.04.2024 15:06

    Спасибо за руководство.


  1. AlexunKo
    21.04.2024 15:06
    +36

    Достать CLI Tor можно 2 способами:

    Мне одному это подняло настроение?


    1. Stakancheck Автор
      21.04.2024 15:06

      Я рад, что поднял настроение. А что развеселило?


      1. AlexunKo
        21.04.2024 15:06
        +13

        Ваш "CLI Tor", простите. Вы что его до сих пор не замечаете? )


        1. Stakancheck Автор
          21.04.2024 15:06

          Лучше будет сказать тор сервис?


          1. AlexunKo
            21.04.2024 15:06
            +30

            Лучше не будет. Это идеально!


    1. deamondz
      21.04.2024 15:06
      +4

      ну мне уже не 16 лет чтобы ржать с клитора (