Изучение функций разработки кода GitHub Copilot

Завершено

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

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

Примечание.

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

средства GitHub Copilot в Visual Studio Code

Visual Studio Code предоставляет простой доступ к следующим функциям GitHub Copilot и GitHub Copilot Chat:

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

Расширения GitHub Copilot позволяют использовать искусственный интеллект в Visual Studio Code среде.

Создание кода с помощью завершения строки кода с помощью GitHub Copilot

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

Снимок экрана, показывающий завершение строки кода на основе кода.

Если вы удовлетворены предложением, нажмите клавишу TAB или нажмите кнопку "Принять". Автозаполнения экономят время и помогают вам точно писать код, подставляя названия переменных и других элементов кода.

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

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

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

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

Разработчики используют завершения кода для ускорения разработки начальной структуры кода.

Создание кода с помощью чата GitHub Copilot

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

Примечание.

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

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

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

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

  • Участники чата, такие как @workspace или @terminal, помогают GitHub Copilot Chat понимать контекст вашего вопроса.
  • Команды с косой чертой, такие как /explain или /new, помогают GitHub Copilot Chat понять намерение или цель вашего вопроса.
  • Переменные чата, такие как #file или #editor, помогают Copilot Chat сосредоточиться на чем-то конкретном для того чтобы рассмотреть более крупный контекст вашего вопроса.

Использование этих специализированных дескрипторов помогает GitHub Copilot Чат создавать более точные и полезные ответы.

Вы можете объединить участников чата с командами косой черты для выполнения определенных действий. Например, можно создать консольное приложение C# с помощью следующего запроса: @workspace /new console application in C# Этот запрос включает участника чата (@workspace) и команду с косой чертой (/new), чтобы помочь GitHub Copilot чат выполнить целевую задачу.

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

GitHub Copilot может сформировать более сложные рабочие области. Например, следующий запрос создает рабочую область для приложения Node.js, использующего платформу Express, подсистему шаблонов Pug и TypeScript: @workspace /new Node.js Express Pug TypeScript

Создание кода с помощью GitHub Copilot Chat в режиме чата

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

Представление чата открывается в собственной панели справа от редактора кода Visual Studio Code. Чтобы открыть представление Чата, выберите Chat в строке заголовка Visual Studio Code или используйте сочетание клавиш Ctrl+Alt+I.

Скриншот, показывающий сообщение приветствия в представлении чата в Visual Studio Code.

Если вам нужно больше места на экране в Visual Studio Code, можно открыть представление чата в отдельном окне, выбрав Open Chat в новом окне в контекстном меню представления чата.

Screenshot, в котором отображается представление чата, отвечающее на вопрос в Visual Studio Code.

GitHub Copilot Чат предоставляет широкие и интерактивные результаты, содержащие следующие элементы:

  • Простой текст. Например, чтобы предоставить ответ на вопрос на естественном языке.
  • Изображения. Например, чтобы отобразить схему или снимок экрана.
  • Кнопки. Например, чтобы активировать действие.
  • Ссылки. Например, универсальные идентификаторы ресурсов (URI), где можно найти дополнительные сведения.
  • Деревья файлов. Например, чтобы отобразить предварительную версию рабочей области, когда участник чата предлагает создать новую рабочую область.

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

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

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

Управление блоками кода в представлении чата

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

При наведении указателя мыши на блок кода отображаются параметры управления блоком кода. Начальные параметры: Применить, вставить (CTRL+ВВОД) и Копировать.

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

Кнопка "Дополнительные действия" (...) отображает параметры вставки в терминал (CTRL+ALT+ВВОД) и вставку в новый файл.

Если чат GitHub Copilot обнаруживает, что блок кода содержит команду, его можно запустить непосредственно в интегрированном терминале с Вставить в Терминал (Ctrl+Alt+Enter). Этот параметр создает или открывает активный терминал и вставляет текст команды, готовый к выполнению.

Снимок экрана: параметр

Создавайте код с использованием GitHub Copilot Chat через встроенный чат

Встроенный интерфейс чата предоставляет доступ к мощным функциям ИИ, сохраняя внимание к коду. При работе в редакторе кода можно открыть встроенный чат, нажав клавиши CTRL+I на клавиатуре.

Встроенный чат можно использовать следующим образом:

  • Чтобы задать вопросы о существующем коде.
  • Изменение или замена существующего кода.
  • Создание нового кода.

Создание новой функции с помощью встроенного чата

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

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

  1. Выберите код в редакторе.

  2. Откройте встроенный интерфейс чата, нажав клавиши CTRL+I на клавиатуре.

  3. Введите запрос, описывающий функцию, которую вы хотите создать.

  4. Просмотрите предложения, предоставляемые GitHub Copilot чата, и уточните ваш запрос, если необходимо.

  5. После удовлетворения примите предложение.

Ниже приведен пример, демонстрирующий создание нового метода с помощью встроенного чата:

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

Создание регулярных выражений с помощью встроенного чата

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

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

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

  1. Выберите код в редакторе.

  2. Откройте встроенный интерфейс чата, нажав клавиши CTRL + I на клавиатуре.

  3. Введите запрос, описывающий шаблон данных, который необходимо проверить.

  4. Просмотрите предложения, предоставляемые в GitHub Copilot Chat, и когда будете удовлетворены, примите предложение.

Ниже приведен пример, демонстрирующий создание регулярного выражения для адресов электронной почты с помощью встроенного чата:

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

Всегда важно просматривать ответы, созданные в GitHub Copilot Chat.

GitHub Copilot Чат предлагает использовать следующее регулярное выражение для проверки адресов электронной почты: ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$.

Давайте уделим минутку, чтобы оценить предлагаемое регулярное выражение.

^: этот символ указывает начало строки. Адрес электронной почты должен начинаться здесь.

[a-zA-Z0-9_.+-]+: эта часть выражения соответствует одному или нескольким символам (+) в квадратных скобках ([]). Символы могут быть строчными (a-z), прописными буквами (A-Z), числовыми (0-9) или специальными символами, такими как символ подчеркивания (_), период (.), плюс (+) или дефис (-).

@: эта часть выражения является символом at (@). Это литеральный символ в адресе электронной почты.

[a-zA-Z0-9-]+: эта часть выражения похожа на первую, но она относится к части доменного имени электронной почты. Он может содержать один или несколько символов в нижнем регистре, верхнем регистре, числовых символов или дефисов (-).

\.: эта часть выражения является литеральным символом (.). Он отделяет доменное имя от расширения домена.

[a-zA-Z0-9-.]+: эта часть выражения соответствует расширению домена. Он может содержать одну или несколько строчных букв, прописных букв, цифр, дефисов (-) или точек (.).

$: этот символ указывает конец строки. Адрес электронной почты должен заканчиваться здесь.

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

Итоги

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