Раздел помощи SpaceWeb

GitHub Copilot: что это такое и как пользоваться этим инструментом

23 ноя, 2023

Что такое GitHub Copilot

GitHub Copilot – это интегрированный инструмент, разработанный совместно GitHub и OpenAI. Он предоставляет автоматические предложения и советы для кода на различных языках программирования. 

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

GitHub Copilot интегрируется непосредственно в среду разработки и обеспечивает подсказки и автозавершение кода на основе контекста, комментариев и требований проекта. Он может быть полезен как начинающим разработчикам, так и опытным программистам, предоставляя советы, улучшая производительность и уменьшая вероятность ошибок.

Функции GitHub Copilot

GitHub Copilot предоставляет разработчикам множество полезных функций и возможностей:

  • Автозаполнение кода. GitHub Copilot предоставляет автозаполнение кода, что упрощает процесс написания кода и ускоряет его создание. Он предлагает контекстно-зависимые предложения для кода, исходя из того, что вы пишете.
  • Создание комментариев и документации. Инструмент способен генерировать комментарии и документацию к вашему коду, что помогает сделать код более читаемым и понятным для других разработчиков.
  • Подсказки к ошибкам и улучшениям. GitHub Copilot предлагает советы по улучшению вашего кода и указывает на потенциальные ошибки. Это помогает в повышении качества кода и уменьшении количества багов.
  • Генерация тестов. Инструмент может автоматически создавать тесты для вашего кода, что помогает в поддержании его надежности и функциональности.
  • Работа с Git и GitHub. GitHub Copilot поддерживает работу с системой управления версиями Git и интегрирован с платформой GitHub, что упрощает процесс совместной работы и управления кодовой базой.
  • Создание примеров и шаблонов. Инструмент может генерировать примеры кода и шаблоны для различных задач, что помогает разработчикам быстро начать работу над разными проектами.

Иными словами, GitHub Copilot облегчает и улучшает процесс разработки, делая его более эффективным и продуктивным.

С чем совместим GitHub Copilot

GitHub Copilot может интегрироваться в различные среды разработки

  • Visual Studio, 
  • Neovim, 
  • VS Code,
  • среды разработки от JetBrains. 

Он обладает множеством возможностей и поддерживает широкий спектр языков программирования:

  • Python, 
  • JavaScript, 
  • Go, 
  • Java, 
  • C#, 
  • TypeScript, 
  • C++, 
  • Ruby, 
  • Rust, 
  • Shell script, 
  • Kotlin, 
  • Swift.

Более того, GitHub Copilot может взаимодействовать с популярными фреймворками и библиотеками

  • React, 
  • AngularJS, 
  • VueJS, 
  • Spring, 
  • Django, 
  • Ruby on Rails и многими другими. 

Это означает, что разработчики могут использовать этот инструмент в сочетании с различными технологиями и стеками разработки для создания программного обеспечения. 

GitHub Copilot предлагает автоматические подсказки и советы, что может значительно ускорить процесс написания кода и улучшить его качество.

Сколько стоит GitHub Copilot

Пробную версию GitHub Copilot можно приобрести бесплатно на 60 дней. По истечении пробного периода вы сможете решить, хотите ли продолжить использование продукта. 

Для частных лиц: Стоимость подписки для частных лиц – 100 долларов в год или 10 долларов в месяц за каждого пользователя.

Для бизнеса: Подписка «GitHub Copilot for Business» доступна на ежемесячной основе и стоит 19 долларов США в месяц на каждого пользователя.

Для студентов и разработчиков: GitHub CoPilot бесплатен для подтвержденных студентов и лиц, поддерживающих некоторые популярные проекты с открытым исходным кодом. 

Как работать с GitHub Copilot в Visual Studio Code 

На данный момент GitHub Copilot от GitHub можно установить как бесплатное расширение для редактора кода Visual Studio Code. Вот как это сделать:

  1. Сначала вам нужно скачать Visual Studio Code, желательно с официального сайта.
  2. Затем откройте программу и авторизуйтесь.
  3. Перейдите во вкладку «Extensions» («Расширения»), которая обычно находится в боковой панели.
  4. В поле поиска введите «GitHub Copilot».
  5. Нажмите кнопку Install.

 

  1. В появившемся окне щелкните Allow

Теперь в вашем редакторе кода появится функция автозаполнения. По мере того, как вы будете вводить код в редакторе, Copilot будет предлагать варианты, адаптируясь к вашим действиям, чтобы помочь завершить работу быстрее.

Синтаксис, предложенный нейросетью, будет выделен синим цветом на экране. Однако решение о том, использовать подсказки или отклонить их, остается за вами. 

Как интегрировать GitHub Copilot в PyCharm

Чтобы использовать Github Copilot на Python, вам потребуется соответствующая среда разработки – в нашем случае PyCharn. Для интеграции GitHub Copilot в среду разработки PyCharm выполните следующие действия:

  1. Перейдите на веб-сайт github.com/features/copilot и нажмите Start my free trial, чтобы начать бесплатную пробную версию. 

  1. Войдите в свой аккаунт GitHub или зарегистрируйтесь, если у вас его нет.

 

  1. После авторизации на GitHub вам будет предложено начать бесплатный пробный период продолжительностью 60 дней. Для этого вам потребуется международная кредитная карта или аккаунт PayPal. 
  2. По завершении оформления подписки вы можете установить плагин GitHub Copilot в PyCharm.
  3. Откройте среду разработки PyCharm.
  4. В верхней панели найдите опцию «File».
  5. В выпадающем меню выберите Settings

  1. Затем перейдите в раздел «Plugins» и введите «Copilot» в поле поиска. 

  1. Система не найдет у вас подобного плагина и предложит поискать его на маркетплейсе. Щелкните Search in Marketplace.
  2. Когда GitHub Copilot появится на вашем экране, кликните Install, чтобы установить плагин. 

  1. Закройте окно, нажав ОК.
  2. После установки плагина откройте меню «Tools». 
  3. Найдите в списке «GitHub Copilot». 

  1. Выберите Login to GitHub, чтобы войти в GitHub. 

  1. В открывшемся окне будет предоставлена ссылка для авторизации и специальный код. Перейдите по ней, нажав Copy and Open.  

  1. Введите указанный ранее код, после чего кликните Сontinue

  1. Нажмите Authorize GitHub Copilot Plugin, чтобы авторизовать установленный плагин. 

Теперь GitHub Copilot интегрирован в ваш проект в среде PyCharm.

Как пользоваться GitHub Copilot

После успешной установки плагина давайте напишем простой код.

Начните с создания функции сложения двух чисел – дайте ей понятное название «add(a, b)». При начале ввода этой функции Copilot предложит ее автозавершение. 

Как это выглядит? Сгенерированный GitHub Copilot код прописан серым цветом и выделен курсивом. 
Вот несколько дополнительных комбинаций клавиш, полезных при работе с GitHub Copilot:

Команда для Windows

Команда для Mac

Значение

Alt+\

options+\

Активация встроенных подсказок.

Alt+]

options+]

Переход к следующей подсказке.

Alt+[

options+[

Переход к предыдущей подсказке.

Tab

Принятие подсказки.

Esc

Отклонение подсказки.

Ctrl+Enter

Просмотр всех подсказок в новом окне.

GitHub Copilot предлагает автозаполнение не только на основе названий функций, но и на основе комментариев. 

  1. Например, попробуем создать функцию для перемножения матриц:

def multiply_matrices(A, B):
# Multiply matrix A and B and return the result

GitHub Copilot может предложить подходящий вариант:

def multiply_matrices(A, B):
# Multiply matrix A and B and return the result

   rows1 = len(A)
   cols1 = len(A[0])

   rows2 = len(B)
   cols2 = len(B[0])

   if cols1 != rows2:
       raise ValueError("The number of columns in the first matrix must be equal to the number of rows in the second matrix")

   result = [[0 for j in range(cols2)] for i in range(rows1)]

   for i in range(rows1):
       for j in range(cols2):
           for k in range(cols1):
               result[i][j] += A[i][k] * B[k][j]

   return result

  1. Как только генерация кода завершится, его следует проверить. Для этого воспользуемся библиотекой NumPy:

import numpy as np

matrix1 = [[15,24],[12,44]]
matrix2 = [[112, 22],[55,90]]

m1 = np.array([[15,24],[12,44]])
m2 = np.array([[112, 22],[55,90]])

print(multiply_matrices(matrix1, matrix2),'\n')
print(np.dot(m1, m2))


Результаты будут следующими:

[[3000, 2490], [3764, 4224]] 

[[3000 2490]
 [3764 4224]]

Таким образом, функция, сгенерированная Copilot, правильно выполняет умножение матриц.

Заключение

GitHub Copilot представляет собой инновационный инструмент, который с использованием искусственного интеллекта упрощает процесс разработки, увеличивает продуктивность и улучшает качество кода. 

Хотя есть некоторые потенциальные ограничения, связанные с правами на код и зависимостью от инструмента, GitHub Copilot предоставляет разработчикам мощный инструмент, который ускоряет процесс создания ПО.