Примененные методы GitHub Copilot

Завершено

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

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

Расширенные задачи с помощью GitHub Copilot

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

Неявные запросы

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

Например, если вы работаете над проектом Python, и у вас есть файл, открытый со следующим кодом, который содержит ошибку в нем:

with open("file.txt", "r") as file:
    # Read the file and print the content
    contents = file.read

Выбрав код и нажав клавиши CTRL+i в Windows или Command+i на Mac, вы можете попросить GitHub Copilot исправить код с помощью встроенного чата и /fix команды косой черты.

Если вы вводите только /fixответ из GitHub Copilot, аналогичный этому предложению: "Чтобы исправить код, я добавлю круглые скобки после file.read, чтобы вызвать метод чтения и исправить опечатку в имени метода".

Команды косой черты можно использовать как в встроенном чате, так и в интерфейсе чата. /fix Помимо команды, ниже приведены некоторые из наиболее полезных команд косой черты, которые можно использовать в чате Copilot:

  • /doc: добавляет примечания к указанному или выбранному коду.
  • /explain: получает пояснения о коде.
  • /generate: создает код для ответа на указанный вопрос.
  • /help: Получает справку по использованию чата Copilot.
  • /optimize: анализирует и улучшает среду выполнения выбранного кода.
  • /tests: создает модульные тесты для выбранного кода.

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

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

Выборочный контекст

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

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

@workspace I need to create a Dockerfile for this project, can you generate one that will help me package it?

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

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

@workspace help me create a Dockerfile to package this project but make sure you are using a Virtual Environment for Python.

В дополнение к агенту @workspace можно использовать другие агенты, такие как @terminal, @fileи @directory получать предложения, относящиеся к контексту:

  • @terminal: предоставляет предложения на основе выходных данных терминала.
    • Пример. @terminal Как исправить сообщение об ошибке, которое я вижу?
  • @file: фокусируется на содержимом определенного файла.
    • Пример. @file Можно ли помочь мне рефакторинг этой функции в main.py?
  • @directory: учитывает содержимое определенного каталога.
    • Пример. @directory Как оптимизировать скрипты в каталоге utils?

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

Примечание.

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