Завершение кода с помощью GitHub Copilot

Завершено

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

В этом уроке мы рассмотрим следующее:

  • Поддерживаемые языки GitHub Copilot
  • Автоматическое предложение
  • Область "Несколько предложений"
  • Поддержка различных стилей программирования в предложениях
  • Как GitHub Copilot включает комментарии для написания кода для предложений

Поддерживаемые языки GitHub Copilot

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

  • Питон
  • JavaScript
  • Ява
  • Машинописный текст
  • Руби
  • Иди
  • C#
  • C++

Хотя эти языки получают исключительную поддержку, GitHub Copilot также может помочь многим другим языкам и платформам.

Подсказка

GitHub Copilot предлагает бесплатный план, включающий 2000 автозаполнений кода и 50 сообщений в чате в месяц. Чтобы приступить к работе, откройте Visual Studio Code, щелкните значок GitHub Copilot, а затем нажмите кнопку "Войти в систему для бесплатного использования GitHub Copilot". Войдите в учетную запись GitHub в окне, которое откроется в браузере. Подробнее. Преподаватели, учащиеся и избранные специалисты по поддержке проектов с открытым исходным кодом могут бесплатно получать Copilot Pro. Узнайте, как: https://aka.ms/Copilot4Students

Автоматическое предложение

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

Снимок экрана с подсказочным текстом для автодополнения.

Область "Несколько предложений"

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

Снимок экрана с призрачным текстом автозаполнения нескольких предложений.

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

  • macOS: Option (⌥) или ALT+] (далее), Option (⌥) или ALT+[ (предыдущая версия)
  • Windows или Linux: ALT+] (далее), ALT+[ (предыдущая версия)

Экранная запись области предложений.

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

Хотя GitHub Copilot отлично подходит для предложения кода, он также демонстрирует свою способность адаптироваться с помощью следующих способов:

  • Реализация метода. При вводе имени метода Copilot может предложить всю реализацию, следуя установленному стилю программирования.
  • Соглашения об именовании: учитываются ваши предпочитаемые соглашения об именовании для переменных, функций и классов.
  • Форматирование: Copilot адаптируется к стилю отступов, размещению скобок и другим параметрам форматирования.
  • Стиль комментариев: он может имитировать ваш стиль комментариев, будь то встроенные комментарии, блочные комментарии или строки документации.
  • Шаблоны проектирования. Если проект последовательно использует определенные шаблоны проектирования, Copilot предлагает код, соответствующий этим шаблонам.

Использование комментариев кода для предложений

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

Общие сведения о контексте комментариев

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

  • Обработка естественного языка: Copilot использует методы расширенной обработки естественного языка (NLP) для интерпретации смысла и намерения комментариев в коде.
  • Контекстный анализ: анализирует комментарии относительно окружающего кода, понимание их релевантности и цели в более широком контексте файла или проекта.

Типы комментариев, используемые

Copilot может работать с различными типами комментариев, чтобы сообщить о своих предложениях:

  • Встроенные комментарии: короткие объяснения рядом с конкретными строками кода.
  • Блокировать комментарии: более длинные объяснения, которые могут описывать функцию или класс.
  • Докстринги: формальные строки документации в языках программирования, таких как Python.
  • Комментарии TODO: заметки о будущих реализациях или улучшениях.
  • Документация по API: комментарии, описывающие использование и параметры функций или методов.

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

Copilot использует комментарии несколькими способами для создания и предложения кода:

  • Реализация функции. Если функция описана в комментариях, Copilot может предложить всю реализацию на основе этого описания.

    Снимок экрана: текст фантомного завершения кода с несколькими строками.

  • Завершение кода: Copilot использует комментарии для более точного завершения кода, понимание намерения разработчика.

    Снимок экрана: текст-призрак автодополнения функции.

    В этом примере у нас есть комментарий, описывающий функцию для обратной строки. На основе этого комментария Copilot, скорее всего, предлагает реализацию с помощью нотации среза Python с шагом -1, который эффективно изменяет строку.

  • Именование переменных. Примечания могут влиять на предложения Copilot для имен переменных, что делает их более описательными и контекстными.

    Снимок экрана: автодополнение имени переменной с подсказкой.

    Здесь у нас есть комментарий, описывающий список любимых книг пользователя. Copilot, скорее всего, предложит описательные имена переменных, соответствующие контексту. В этом случае он предложил "favorite_books" в качестве имени переменной, которая четко описывает содержимое списка.

  • Выбор алгоритма. Если примечания описывают определенный алгоритм или подход, Copilot может предложить код, соответствующий этому методу.

    Снимок экрана с призрачным текстом автозаполнения алгоритма.

    В приведенном выше примере приведены комментарии, которые описывают шаги алгоритма сортировки пузырьков. На основе этих комментариев Copilot, скорее всего, предложит реализацию, которая внимательно выполняет описанные шаги.