Skip to main content

Настройка среды разработки для агента программирования Copilot

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

Примечание.

Агент кодирования Copilot is in public preview and subject to change.

Дополнительные сведения о Агент кодирования Copilotсм. в разделе О назначении задач Copilot.

Настройка среды разработки Агент кодирования Copilot

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

Вы можете настроить для среды Copilot:

Предварительные установки инструментов или зависимостей в среде Copilot.

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

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

Вместо этого можно предварительно настроить Copilotсреды перед началом работы агента, создав специальный файл рабочего процесса GitHub Actions в .github/workflows/copilot-setup-steps.yml репозитории.

copilot-setup-steps.yml Файл выглядит как обычный файл рабочего процесса GitHub Actions, но должен содержать одно copilot-setup-steps задание. Это задание будет выполняться в GitHub Actions до начала работы Copilot . Дополнительные сведения о файлах рабочих процессов GitHub Actions см. в разделе Синтаксис рабочего процесса для GitHub Actions.

Ниже приведен простой пример copilot-setup-steps.yml файла для проекта TypeScript, клонируемого проекта, установки Node.js и скачивания и кэширования зависимостей проекта. Это необходимо настроить для соответствия языковым и зависимостям собственного проекта:

YAML
name: "Copilot Setup Steps"

# Automatically run the setup steps when they are changed to allow for easy validation, and
# allow manual testing through the repository's "Actions" tab
on:
  workflow_dispatch:
  push:
    paths:
      - .github/workflows/copilot-setup-steps.yml
  pull_request:
    paths:
      - .github/workflows/copilot-setup-steps.yml

jobs:
  # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
  copilot-setup-steps:
    runs-on: ubuntu-latest

    # Set the permissions to the lowest permissions possible needed for your steps.
    # Copilot will be given its own token for its operations.
    permissions:
      # If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission. If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
      contents: read

    # You can define any steps you want, and they will run before the agent starts.
    # If you do not check out your code, Copilot will do this for you.
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: "20"
          cache: "npm"

      - name: Install JavaScript dependencies
        run: npm ci

copilot-setup-steps.yml В файле можно настроить только следующие параметры copilot-setup-steps задания. При попытке настроить другие параметры изменения будут игнорироваться.

  • steps (см. выше)
  • permissions (см. выше)
  • runs-on (см. ниже)
  • container
  • services
  • snapshot
  • timeout-minutes (максимальное значение: 59)

Дополнительные сведения об этих параметрах см. в разделе Синтаксис рабочего процесса для GitHub Actions.

Файл copilot-setup-steps.yml будет автоматически запускаться как обычный рабочий процесс GitHub Actions при внесении изменений, чтобы узнать, успешно ли он выполняется. Это будет отображаться вместе с другими проверками в запросе на вытягивание, в котором вы создаете или изменяете файл.

После объединения файла yml в ветвь по умолчанию можно вручную запустить рабочий процесс на вкладке "Действия** репозитория**" в любое время, чтобы убедиться, что все работает должным образом. Дополнительные сведения см. в разделе Запуск рабочего процесса вручную.

Обновление до более крупных GitHub, размещенных GitHub Actions

По умолчанию Copilot работает в стандартном средстве выполнения GitHub Actions с ограниченными ресурсами.

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

Прежде чем Copilot может использовать более крупные средства выполнения, необходимо сначала добавить один или несколько более крупных модулей выполнения, а затем настроить репозиторий для их использования. См . раздел AUTOTITLE. После этого вы можете использовать copilot-setup-steps.yml файл, чтобы сообщить Copilot, чтобы использовать более крупные средства выполнения.

Чтобы использовать более крупные средства выполнения, задайте runs-on шаг copilot-setup-steps задания меткой и (или) группу для более крупных средств выполнения, которые необходимо использовать Copilot. Дополнительные сведения об указании более крупных модулей выполнения см runs-on. в разделе Выполнение заданий на более крупных запусках.

# ...

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-4-core
    # ...

Примечание.

  • Агент кодирования Copilot совместим только с runners Ubuntu x64 Linux. Запуски с Windows, macOS или другими операционными системами не поддерживаются.
  • Локальные GitHub Actions не поддерживаются.

Включение хранилища больших файлов Git (LFS)

Если вы используете хранилище больших файлов Git (LFS) для хранения больших файлов в репозитории, необходимо настроить среду Copilot, чтобы установить Git LFS и получить объекты LFS.

Чтобы включить Git LFS, добавьте actions/checkout шаг в задание copilot-setup-steps с заданным параметром lfs true.

YAML
# ...

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
    steps:
      - uses: actions/checkout@v4
        with:
          lfs: true

Дополнительные материалы