Что такое модернизация GitHub Copilot?

GitHub Copilot для модернизации — это агент GitHub Copilot, который помогает обновлять и модернизировать ваши проекты на C++. Он помогает вам пройти этапы оценки, получения рекомендаций по решениям, исправления кода и валидации в Visual Studio.

Scenarios

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

Сценарий Описание Пример запроса
Обновление средств сборки MSVC (MSBuild) Обновляет проекты на основе MSBuild (.sln, .vcxproj) до более новой версии средств сборки MSVC и устраняет проблемы, связанные с обновлением сборки. "Обновите мои проекты, чтобы использовать последнюю установленную версию средств сборки MSVC"
Обновление средств сборки MSVC (CMake) Устраняет проблемы сборки, связанные с обновлением, в проектах на основе CMake после настройки проекта с более новой версией средств сборки MSVC. "Устраните все проблемы сборки, вызванные обновлением проекта, чтобы использовать новые средства сборки MSVC"

Замечание

Если вы хотите предложить другие сценарии модернизации или поддержать их голосом, посетите Сообщество разработчиков.

Полный справочник по всем сценариям см. в справочнике по сценариям и навыкам.

Необходимые условия

Прежде чем начать, убедитесь, что у вас есть:

  • Visual Studio 2026 версии 18.7 или более поздней.
  • Подписка на GitHub Copilot.
  • База кода на основе MSBuild (.sln, .vcxproj) или база кода на основе CMake.

Подробные инструкции по установке см. в статье Установка средства модернизации GitHub Copilot для C++.

Принцип работы

Чтобы запустить рабочий процесс модернизации, выполните следующие действия.

  1. Откройте проект или решение C++ в Visual Studio.
  2. Запустите агент: в Обозреватель решений щелкните правой кнопкой мыши решение или проект и выберите Modernize. Или в GitHub Copilot Chat введите @Modernize.
  3. Сообщите агенту, что нужно обновить.

Если в вашей установке Visual Studio отсутствуют средства сборки MSVC, которые в настоящее время использует ваш проект, при открытии проекта должен появиться мастер настройки. С помощью помощника по настройке можно установить недостающую версию MSVC или перенацелиться на установленную версию MSVC. Если вы измените целевую платформу для каких-либо проектов, появится сообщение на информационной панели, которое позволяет сразу перейти к рабочему процессу агента Modernize.

При запросе агента на обновление проекта вам будет предложено создать новую ветвь, если вы находитесь в репозитории Git. Затем он запускает трехэтапный рабочий процесс. Каждый этап создает файлы Markdown .github/upgrades/{scenarioId} в вашем репозитории, чтобы вы могли просмотреть следующее, прежде чем продолжить. Если .github/upgrades/{scenarioId} уже существует после предыдущей попытки, агент спрашивает, хотите ли вы продолжить или начать заново.

Этап 1. Оценка

Агент анализирует структуру вашего проекта, зависимости и паттерны кода и сохраняет подробную оценку в assessment.md. Агент также представляет вам на рассмотрение стратегические решения, такие как стратегия обновления и обработка вопросов совместимости.

Этап 2. Планирование

Агент преобразует оценку в подробную спецификацию. Файл plan.md документирует стратегии обновления, подходы к рефакторингу и меры по снижению рисков.

Этап 3. Выполнение

Агент разбивает план на последовательные задачи с критериями проверки в tasks.md. Каждая задача описывает одно изменение и подтверждение успешного выполнения агентом.

Режимы потока

Агент поддерживает два режима потока:

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

Вы можете переключать режимы в любое время, изменив scenario-instructions.md или указав агенту переключить режимы. Если агент работает в режиме Автоматический, вам может потребоваться остановить его с помощью кнопки «Отмена» в окне запроса Copilot Chat и дать ему команду продолжить работу в режиме Пошаговый.

Управление состоянием

Агент сохраняет все состояние в .github/upgrades/{scenarioId}.

Файл Purpose
assessment.md Анализ решения.
plan.md Упорядоченный план задач.
tasks.md Панель отслеживания хода выполнения в реальном времени.
scenario-instructions.md Постоянная память агента.
execution-log.md Журнал всех изменений.

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

Tip

Если вы хотите работать над обновлением в течение более длительного времени, параллельно занимаясь другой работой, рассмотрите возможность вносить папку .github/upgrades в свою ветку отдельными коммитами. Зафиксированное состояние служит резервным копированием и позволяет участникам команды просматривать ход обновления. Отдельные коммиты позволяют легко удалить их из локальной истории Git перед слиянием вашей ветки, если вы не хотите, чтобы они навсегда остались в репозитории.

Предоставьте отзыв

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