Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья поможет устранить типичные проблемы, возникающие при использовании функции модернизации GitHub Copilot для обновления ваших проектов на C++. Если возникла проблема, которая не рассматривается здесь, используйте Справка>Отправить отзыв>Сообщить о проблеме в Visual Studio.
Перед началом работы
Убедитесь, что ваше решение или проект успешно собирается
Для сценариев обновления MSVC агент проверяет изменения путем создания решения или проекта. Если решение или проект уже нарушены перед началом работы, агент будет иметь большую трудность при различии существующих проблем от проблем, возникающих при обновлении.
Если у вас есть известные проблемы сборки, задокументируйте их в пользовательских инструкциях, предоставьте их в ответе, когда агент запрашивает контекст во время этапа оценки, или добавьте их, scenario-instructions.md чтобы агент знал, чтобы игнорировать их.
Фиксация или скрытие незафиксированных работ
Начните с чистого рабочего каталога. Агент делает фиксации по мере работы, и сочетание незафиксированных изменений с изменениями агента затрудняет проверку или восстановление изменений.
git stash
git status
Резервное копирование репозиториев, отличных от Git
Агент также может работать с папками, не находящимися под контролем версий. Если ваш проект не находится в репозитории Git, агент пропускает операции создания веток и коммитов. Создайте резервную копию папки проекта перед началом работы, чтобы при необходимости восстановить ее.
Tip
Перед началом работы рассмотрите возможность инициализации локального репозитория Git, даже если вы не отправляете его в удаленный. Это позволяет откатить отдельные изменения и отслеживать ход выполнения по шагу.
Пример:
git init
git add
git commit -m "Initial Commit"
Когда вы с агентом закончите, если не хотите продолжать пользоваться Git, просто убедитесь, что код в вашем рабочем дереве — именно тот, который вам нужен, и удалите каталог .git в каталоге, где вы запустили git init.
Распространенные проблемы
Агент не отображается в Copilot Chat
Symptoms: ввод @Modernize в окне чата GitHub Copilot не активирует агент или Modernize не отображается в контекстном меню Обозреватель решений.
Решения:
- Убедитесь, что используется Visual Studio версии 18.7 или более поздней версии, выбрав Help>About Microsoft Visual Studio.
- Убедитесь, что GitHub Copilot активен, проверив значок Copilot в строке состояния.
- Убедитесь, что функция включена в Tools>Options>GitHub>Copilot>C/C++. Затем выберите Включить модернизацию GitHub Copilot для C++.
- Перезапустите Visual Studio после изменения параметров.
Агент зависает в цикле
Симптомы: агент снова и снова пытается применить одно и то же исправление, не добиваясь прогресса.
Решения:
- Остановите агент кнопкой "Отмена" в окне ввода запроса Copilot Chat, опишите, что вы наблюдаете, и отправьте запрос, чтобы агент продолжил работу.
- Предоставьте исправление вручную и сообщите агенту о том, что вы изменили. Агент учится на основе вашего исправления.
- Попросите агента попробовать другой подход. Например, введите в окне чата GitHub Copilot: "Это исправление не работает. Попробуйте другую стратегию."
- При необходимости вернитесь или отмените последние изменения и перезапустите задачу.
Большие решения занимают слишком много времени
Симптомы: обновление большого решения с множеством проектов занимает очень много времени или, кажется, застопорится.
Решения:
- Начните с одного репрезентативного проекта в качестве пилотного проекта. Это вызывает системные проблемы рано.
- Отслеживайте ход выполнения, просматривая
tasks.mdв.github/upgrades/{SCENARIO ID}. - Если время сеанса истекло, начните новый сеанс. Агент продолжает с того места, где остановился.
Стратегии восстановления
Отмена всех изменений
Если вы использовали ветвь Git для обновления, отмените все:
git checkout your-original-branch
git branch -D upgrade-branch
Ваш оригинальный код не изменён.
Отмена последнего изменения
Отменить последний коммит:
git revert HEAD
Или сообщите агенту, Revert the last change.
Перезапуск с определенного этапа
Если план агента не работает, перезапустите с более ранней стадии, отправив запрос, аналогичный следующему:
Let's redo the plan. I want a different approach to the conformance issues.Go back to the assessment and reconsider the upgrade strategy.
Начать заново
.github/upgrades/{SCENARIO ID} Удалите папку и запустите новую беседу с агентом. Начинается с нуля.
Получите помощь
Если не удается устранить проблему, выполните следующие действия.
- Используйте Справка>Отправить отзыв>Сообщить о проблеме в Visual Studio.
- Включите содержимое
execution-log.mdиз.github/upgrades/{SCENARIO ID}, если это возможно.