Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Модернизация приложений GitHub Copilot для C++ помогает обновить проекты C++ до более новых версий средств сборки MSVC. При необходимости Copilot обновит параметры проекта, чтобы использовать последнюю версию MSVC, а затем провести тщательную оценку влияния этих изменений после выполнения сборки. Он разрабатывает план по устранению каждой обнаруженной проблемы. После утверждения плана агент завершает последовательность задач и проверяет, что все изменения устранили выявленные проблемы. Если еще остались задачи для выполнения, агент продолжает работать до тех пор, пока не будут устранены проблемы или вы не прекратите беседу.
Замечание
Модернизация приложений GitHub Copilot для C++ в настоящее время доступна в предварительной версии.
Требования
- Visual Studio 2026 версии 18.3 или более поздней версии
- Учетная запись GitHub Copilot
- База кода на основе MSBuild (
.sln,.vcxproj) ИЛИ база кода на основе CMake
Активация модернизации приложений с помощью GitHub Copilot для C++
Модернизация приложений GitHub Copilot для C++ включена по умолчанию. Чтобы отключить или явно включить эту функцию, выполните следующие действия.
- В Visual Studio выберите "Параметры инструментов > ", чтобы открыть окно "Параметры ".
- Перейдите к Все параметры > GitHub > Copilot > C/C++.
- Выберите (чтобы включить) или снимите (чтобы отключить) флажок для включения предварительной версии модернизации приложений GitHub Copilot для C++.
- Перезапустите Visual Studio, чтобы изменение параметра вступило в силу.
Обновление базы кода с помощью модернизации приложения GitHub Copilot для C++
В этом разделе описывается, как запустить агент модернизации и этапы, которые он проходит для обновления базы кода.
Запуск агента модернизации
Агент модернизации приложения GitHub Copilot работает внутри окна чата GitHub Copilot. Агент можно запустить любым из следующих способов:
- В контекстном меню обозревателя решений: щелкните правой кнопкой мыши решение или загруженный проект в обозревателе решений и выберите "Модернизировать " в контекстном меню. При этом автоматически запускается окно чата GitHub Copilot, активируется агент Modernize, и предоставляются релевантные подсказки для выбора, чтобы начать работу.
Из GitHub Copilot Chat: откройте окно чата GitHub Copilot, выбрав Просмотр > GitHub Copilot Chat. После открытия окна чата GitHub Copilot, упомяните
@Modernizeв запросе, чтобы активировать агента Модернизации. Например, введите следующий запрос:Use @Modernize to update MSVC Build Tools.
Для баз кода на основе MSBuild, предназначенных для более ранней версии средств сборки MSVC
При первой загрузке .vcxproj проекта, предназначенного для более ранней версии средств сборки MSVC, вы увидите возможность обновления параметров проекта для использования более новой версии средств сборки MSVC. Если вы перенацелите любой из проектов на новую версию средств сборки MSVC и модернизацию приложений GitHub Copilot для C++, вы получите информационную панель в Visual Studio, предлагая использовать модернизацию приложений GitHub Copilot для C++ для устранения всех новых проблем сборки. При запуске модернизации приложения GitHub Copilot для C++ открывается окно чата GitHub Copilot, активируется агент модернизации и предоставляются соответствующие запросы, которые нужно выбрать, чтобы приступить к работе.
Запуск обновления
После того как агент Modernize станет активен, ему можно дать инструкцию с помощью запроса на обновление ваших инструментов сборки MSVC или выбрать уже созданный запрос из списка в окне. Если вы запустили агент прямо в окне чата GitHub Copilot, указав @Modernize в запросе, вам, вероятно, не нужно добавлять дополнительные подсказки.
Проекты MSBuild
Проекты CMake
Этап оценки
Агент сначала оценивает, какие проблемы возникают после обновления. Если вы еще не обновили проект, агент направляет вас через этот процесс перед созданием оценки. После обновления проекта агент создает базу кода, анализирует сообщаемые предупреждения и ошибки и создает assessment.md файл, описывающий обнаруженные проблемы, их серьезность и другие полезные сведения. Это ваша возможность сообщить агенту любой другой контекст, который может помочь ему сделать план.
Одно из действий, которое вы можете предпринять здесь, заключается в том, чтобы сообщить агенту не устранять определенные обнаруженные проблемы, потому что вы знаете, что их разрешение включает некоторые стратегические решения или потому, что они были уже существующими предупреждениями, которые вы сочли приемлемыми для вашего проекта. Внимательно прочитайте план, обязательно предоставьте этот дополнительный контекст, где он необходим. После утверждения оценки агент переходит к созданию конкретного плана по устранению проблем.
Этап планирования
На основе утвержденной оценки и любых других контекстов или инструкций, предоставляемых вами, агент создает plan.md файл, который предлагает подробный план для решения каждой из выявленных проблем. Если агент создает план, который не соответствует стилю кода вашей организации или методикам, вы можете предоставить это руководство агенту и решить эту проблему по-другому. После согласования плана агент переходит на этап выполнения.
Этап выполнения
Теперь, когда агент имеет план, он разбивает необходимые задачи для выполнения плана. Вы можете точно определить эти задачи. Задачи могут даже включать шаги для работы в ветке или фиксации конкретных изменений в одном коммите. После внесения изменений агент снова создает проект, чтобы убедиться, что проблемы устранены. Если проблемы не решены, агент работает с вами, пока они не будут решены к вашему удовлетворению.
Проверка после обновления
Когда агент завершит работу, протестируйте изменения с помощью любой имеющейся у вас инфраструктуры тестирования. Попросите коллегу просмотреть изменения в pull request. Так как эта функция в настоящее время находится в предварительной версии, вы можете получить информационное сообщение, чтобы завершить опрос о продукте и сообщить команде продукта, как агент работал с вашей кодовой базой. Группа продуктов с нетерпением ожидает слушаний о том, как они могут улучшить агент для решения ваших проблем и ускорить усилия по обновлению и модернизации.