GitHub Copilot 현대화는 C++ 프로젝트를 업그레이드하고 현대화하는 데 도움이 되는 GitHub Copilot 에이전트입니다. Visual Studio 내에서 평가, 솔루션 권장 사항, 코드 수정 및 유효성 검사를 안내합니다.
Scenarios
에이전트는 시나리오라는 엔드 투 엔드 현대화 워크플로 를 제공합니다. 각 시나리오는 특정 유형의 현대화 작업을 안내합니다.
| Scenario | Description | 예제 프롬프트 |
|---|---|---|
| MSVC 빌드 도구 업그레이드(MSBuild) | MSBuild 기반 프로젝트(.sln, .vcxproj)를 최신 버전의 MSVC 빌드 도구로 업그레이드하고 업그레이드 관련 빌드 문제를 해결합니다. |
"설치된 최신 버전의 MSVC 빌드 도구를 사용하도록 프로젝트를 업그레이드합니다." |
| MSVC 빌드 도구 업그레이드(CMake) | 최신 버전의 MSVC 빌드 도구로 프로젝트를 구성한 후 CMake 기반 프로젝트에서 업그레이드 관련 빌드 문제를 해결합니다. | "최신 MSVC 빌드 도구를 사용하도록 프로젝트를 업그레이드하여 발생하는 빌드 문제 해결" |
비고
다른 현대화 시나리오를 제안하거나 추천하려면 Developer Community를 방문하세요.
모든 시나리오에 대한 전체 참조는 시나리오 및 기술 참조를 참조하세요.
사전 요구 사항
시작하기 전에 다음이 있는지 확인합니다.
- Visual Studio 2026 버전 18.7 이상.
- GitHub Copilot 구독입니다.
- MSBuild 기반 코드베이스(
.sln,.vcxproj) 또는 CMake 기반 코드베이스입니다.
자세한 설정 단계는 C++용 GitHub Copilot 모더니제이션 설치를 참조하세요.
작동 방식
현대화 워크플로를 시작하려면 다음을 수행합니다.
- Visual Studio C++ 프로젝트 또는 솔루션을 엽니다.
- 에이전트 시작: 솔루션 탐색기 솔루션 또는 프로젝트를 마우스 오른쪽 단추로 클릭하고 Modernize 선택합니다. 또는 GitHub Copilot Chat
@Modernize입력합니다. - 에이전트에 업그레이드할 내용을 알릴 수 있습니다.
Visual Studio 설치에 프로젝트에서 현재 사용하는 MSVC 빌드 도구가 없으면 프로젝트를 로드할 때 설치 도우미가 표시됩니다. 설치 도우미를 사용하여 누락된 MSVC 버전을 설치하거나 설치된 MSVC 버전으로 대상을 변경할 수 있습니다. 프로젝트의 대상을 변경하면 에이전트 현대화 워크플로로 직접 시작할 수 있는 정보 표시줄 메시지가 표시됩니다.
에이전트에 프로젝트를 업그레이드하도록 요청하면 Git 리포지토리에 있는 경우 새 분기를 만들라는 메시지가 표시됩니다. 그런 다음 3단계 워크플로를 실행합니다. 각 단계에서는 리포지토리 아래에 .github/upgrades/{scenarioId} Markdown 파일을 생성하므로 계속하기 전에 다음에 나오는 항목을 검토할 수 있습니다. 이전 시도에서 이미 존재하는 경우 .github/upgrades/{scenarioId} 에이전트는 계속하거나 새로 시작할 것인지 묻습니다.
1단계: 평가
에이전트는 프로젝트 구조, 종속성 및 코드 패턴을 검사하고 포괄적인 평가를 assessment.md저장합니다. 에이전트는 업그레이드 전략 및 호환성 처리와 같은 검토에 대한 전략 결정도 제공합니다.
2단계: 계획
에이전트는 평가를 자세한 사양으로 변환합니다. 이 파일은 plan.md 업그레이드 전략, 리팩터링 방법 및 위험 완화를 문서화합니다.
3단계: 실행
에이전트는 유효성 검사 조건을 사용하여 계획을 순차 작업으로 분할합니다 tasks.md. 각 태스크는 단일 변경 내용과 에이전트가 성공했는지 확인하는 방법을 설명합니다.
흐름 모드
에이전트는 다음 두 가지 흐름 모드를 지원합니다.
- 자동: 일시 중지하지 않고 모든 스테이지에서 작동하며 정품 차단기에서만 중지됩니다. 이 모드는 간단한 업그레이드에 가장 적합합니다.
- 안내형: 검토할 수 있도록 각 단계가 끝날 때마다 일시 중지합니다. 이 모드는 더 크거나 더 복잡한 업그레이드에 가장 적합합니다.
언제든지 모드를 수정 scenario-instructions.md 하거나 에이전트에 모드를 전환하도록 지시하여 모드를 전환할 수 있습니다.
Automatic 모드에서 실행되는 경우 Copilot Chat 프롬프트 창에서 취소 단추를 사용하여 에이전트를 중지하고 에이전트가 Guided 모드에서 다시 시작하도록 지시해야 할 수 있습니다.
상태 관리
에이전트는 모든 상태를 저장합니다 .github/upgrades/{scenarioId}.
| 파일 | Purpose |
|---|---|
assessment.md |
솔루션 분석 |
plan.md |
순서가 지정된 작업 계획입니다. |
tasks.md |
라이브 진행률 대시보드. |
scenario-instructions.md |
에이전트의 영구 메모리입니다. |
execution-log.md |
모든 변경 내용의 감사 내역입니다. |
Visual Studio 닫고 나중에 다시 시작할 수 있습니다. 에이전트는 상태 파일을 읽어 중단한 지점부터 다시 시작합니다.
Tip
다른 작업을 하면서 업그레이드를 더 오랜 기간에 걸쳐 진행하려는 경우, .github/upgrades 폴더를 브랜치에 별도의 커밋으로 커밋하는 것이 좋습니다. 커밋된 상태는 백업 역할을 하며 팀 구성원이 업그레이드 진행 상황을 볼 수 있도록 합니다. 별도의 커밋을 사용하면 해당 커밋을 리포지토리에 영구적으로 남기고 싶지 않을 경우 브랜치를 병합하기 전에 로컬 Git 기록에서 쉽게 제거할 수 있습니다.
피드백 제공하기
Microsoft 피드백의 가치를 높이고 이를 사용하여 에이전트를 개선합니다. 다음 옵션 중 하나를 사용하여 피드백을 남겨 둡니다.
Developer Community 문제를 제출합니다.