이 문서는 GitHub Copilot 현대화를 사용하여 C++ 프로젝트를 업그레이드할 때 발생하는 일반적인 문제를 해결하는 데 도움이 됩니다. 여기서 다루지 않는 문제가 발생하는 경우 Visual Studio Help>send Feedback> 문제를 보고합니다 사용합니다.
시작하기 전에
솔루션 또는 프로젝트가 빌드되는지 확인
MSVC 업그레이드 시나리오의 경우 에이전트는 솔루션 또는 프로젝트를 빌드하여 변경 내용의 유효성을 검사합니다. 시작하기 전에 솔루션 또는 프로젝트가 이미 중단된 경우 에이전트는 업그레이드에서 도입된 문제와 기존 문제를 구별하는 데 더 큰 어려움을 겪게 됩니다.
빌드 문제를 알고 있는 경우 사용자 지정 지침에 문서화하거나, 에이전트가 평가 단계에서 컨텍스트를 요청할 때 응답에 제공하거나, 에이전트가 이를 무시하도록 scenario-instructions.md 추가합니다.
커밋되지 않은 작업 커밋 또는 숨기기
깨끗한 작업 디렉터리로 시작합니다. 에이전트는 작동할 때 커밋을 수행하고, 커밋되지 않은 변경 내용을 에이전트의 수정 내용과 혼합하면 변경 내용을 검토하거나 되돌리기 어렵습니다.
git stash
git status
Git이 아닌 리포지토리 백업
에이전트는 소스 제어를 받지 않는 폴더로도 작업할 수 있습니다. 프로젝트가 Git 리포지토리에 없는 경우 에이전트는 분기 및 커밋 작업을 건너뜁니다. 필요한 경우 복원할 수 있도록 시작하기 전에 프로젝트 폴더를 백업합니다.
Tip
원격으로 푸시하지 않더라도 시작하기 전에 로컬 Git 리포지토리를 초기화하는 것이 좋습니다. 이렇게 하면 개별 변경 내용을 롤백하고 진행 상황을 단계별로 추적할 수 있습니다.
Example:
git init
git add
git commit -m "Initial Commit"
사용자와 에이전트의 작업이 끝난 후 Git을 계속 사용하지 않으려면, 현재 작업 트리에 있는 코드가 원하는 상태인지 확인한 다음 git init를 실행한 디렉터리에서 .git 디렉터리를 삭제하세요.
일반적인 문제
에이전트가 Copilot Chat 표시되지 않습니다.
Symptoms: GitHub Copilot 채팅 창에 @Modernize 입력해도 에이전트가 활성화되지 않거나 Modernize가 솔루션 탐색기 상황에 맞는 메뉴에 나타나지 않습니다.
해결 방법:
- Visual Studio Help>About Microsoft Visual Studio 버전 18.7 이상인지 확인합니다.
- 상태 표시줄에서 Copilot 아이콘을 확인하여 GitHub Copilot 활성 상태인지 확인합니다.
- Tools>Options>GitHub>Copilot>C/C++에서 해당 기능이 사용하도록 설정되어 있는지 확인하세요. 그런 다음 C++용 GitHub Copilot 현대화 사용을 선택합니다.
- 설정을 변경한 후 Visual Studio 다시 시작합니다.
에이전트가 루프에 갇히게 됩니다.
증상: 에이전트는 진행하지 않고 동일한 수정을 반복적으로 시도합니다.
해결 방법:
- Copilot Chat 프롬프트 창에서 취소 단추를 사용하여 에이전트를 중지하고, 프롬프트에서 관찰하는 내용을 설명하고, 프롬프트를 보내 에이전트를 다시 시작합니다.
- 수동 수정 사항을 제공하고 변경한 내용을 에이전트에 알릴 수 있습니다. 에이전트는 수정을 통해 학습합니다.
- 에이전트에 다른 방법을 시도하도록 요청합니다. 예를 들어 GitHub Copilot 채팅 창에 다음과 같이 입력하세요: "그 수정 사항은 작동하지 않습니다. 다른 전략을 시도해 보세요."
- 필요한 경우 마지막 변경 내용을 되돌리거나 실행 취소하고 작업을 다시 시작합니다.
큰 솔루션은 너무 오래 걸립니다.
증상: 많은 프로젝트에서 대규모 솔루션을 업그레이드하는 데 시간이 오래 걸리거나 중단된 것 같습니다.
해결 방법:
- 하나의 대표 프로젝트로 파일럿으로 시작합니다. 이것은 일찍 전신 문제를 표면화합니다.
-
.github/upgrades/{SCENARIO ID}에서tasks.md을(를) 검토하여 진행 상황을 모니터링합니다. - 세션 시간이 초과되면 새 세션을 시작합니다. 에이전트는 중단된 지점에서 다시 시작합니다.
복구 전략
모든 변경 사항 원래대로 복구
업그레이드에 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}내용을 포함합니다.