Справочник по сценариям и навыкам

GitHub Copilot агент модернизации предоставляет управляемые комплексные рабочие процессы модернизации, называемые сенариос. Каждый сценарий поможет вам реализовать определенный тип действия в практической работе по модернизации C++. На этой странице представлены доступные сценарии и навыки, чтобы понять, что агент может сделать для проекта.

Scenarios

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

Обнаружение сценариев

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

Чтобы вывести список сценариев, поддерживаемых агентом, попросите "Какие сценарии доступны для моего проекта?" в окне чата GitHub Copilot.

Доступные сценарии

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

Замечание

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

Обновление средств сборки MSVC (MSBuild)

Этот сценарий обрабатывает полный рабочий процесс обновления для проектов C++ на основе MSBuild:

  1. Перенацеливание: обновляет параметры проекта, предназначенные для последней установленной программы сборки MSVC и набора инструментов платформы.
  2. Анализ сборки: создает решение и каталогизирует все ошибки и предупреждения, представленные обновлением.
  3. Обновление кода: заменяет устаревшие API, устраняет проблемы соответствия и помогает с критическими изменениями.
  4. Проверка: перестроение, чтобы убедиться, что все проблемы устранены.

Например, в этом сценарии рассматриваются такие проблемы:

  • Нерекомендуемые функции CRT, например sprintf , для sprintf_s.
  • Изменения соответствия C++, например более строгий анализ шаблона.
  • Изменения стандартной библиотеки между версиями MSVC, например удаленными, экспериментальными пространствами имен (например, std::tr1).
  • Повышение уровня предупреждений как ошибок в новых наборах инструментов.
  • Ошибки компоновщика для API, удаленных из пакета SDK Windows.

Обновление средств сборки MSVC (CMake)

Этот сценарий обрабатывает рабочие процессы обновления для проектов CMake на основе C++:

  1. Анализ сборки: создает проект и каталогизирует все ошибки и предупреждения, представленные обновлением.
  2. Обновление кода: заменяет устаревшие API, устраняет проблемы соответствия и помогает с критическими изменениями.
  3. Проверка: перестроение, чтобы убедиться, что все проблемы устранены.

Например, в этом сценарии рассматриваются такие проблемы:

  • Нерекомендуемые функции CRT, например sprintf , для sprintf_s.
  • Изменения соответствия C++, например более строгий анализ шаблона.
  • Изменения стандартной библиотеки между версиями MSVC, например удаленными, экспериментальными пространствами имен (например, std::tr1).
  • Повышение уровня предупреждений как ошибок в новых наборах инструментов.
  • Ошибки компоновщика для API, удаленных из пакета SDK Windows.

Сохраняемость сценария

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

Skills

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

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

Замечание

В настоящее время нет дополнительных навыков, относящихся к сценариям модернизации C++.