Visual Studio에서 GitHub Copilot 채팅의 컨텍스트를 설정하여 더 나은 답변 얻기
Visual Studio에서 GitHub Copilot Chat 사용하여 IDE를 종료하지 않고 구문, 프로그래밍 개념, 컨텍스트별 코드 도움말, 테스트 사례, 디버깅 등과 같은 코딩 정보 및 지원을 얻을 수 있습니다. 부조종사 채팅은 Visual Studio에 통합되어 있으므로 IDE에 있는 내용에서 유용한 단서를 수집하여 작업 중인 작업을 이해할 수 있습니다.
프롬프트 외에도 Copilot는 현재 파일의 코드 및 채팅 기록과 같은 추가 컨텍스트를 사용하여 응답을 생성합니다. 이 문서에서는 다음을 포함하여 Copilot 채팅에 더 많은 정보를 제공하여 더 나은 답변을 얻는 방법을 알아봅니다.
-
슬래시 명령 사용하여
/explain
같은 일반적인 작업을 신속하게 지정하여 코드 설명을 가져옵니다. - 안내 채팅 환경과 사용자 지정 지침 을 이용하여 Visual Studio 17.12 이상에서 컨텍스트를 구체화합니다.
- 참조사용하여 채팅 범위를 특정 파일로 지정합니다.
- 코필로트가 사용하는 원본을 검토하여 답변을 생성합니다.
- 각 코필로트 채팅에 서로 다른 스레드를 사용하여 각 채팅에서 서로 다른 컨텍스트를 유지할 수 있습니다.
Visual Studio 에서 AI 지원 개발에 대해 알아보고, Visual Studio 에서 Copilot Chat을사용하는 방법을 배우세요.
필수 구성 요소
Visual Studio에서 GitHub Copilot 채팅 사용을 시작하려면 다음이 필요합니다.
- Visual Studio 2022 버전 17.8 이상
-
Copilot 액세스 GitHub 계정 사용하여 Visual Studio에 로그인
** 무료 GitHub Copilot를 사용할 수 있습니다. AI를 등록하고 활용하여 더 빠르고 효율적으로 코딩합니다. - Visual Studio에서 GitHub Copilot
- Visual Studio에서 GitHub Copilot 채팅
GitHub Copilot 채팅에 대한 지원은 GitHub에서 제공하며 https://support.github.com을 통해 연락할 수 있습니다.
유도 지침
Visual Studio 17.12 이상에서 안내된 채팅 환경은 프롬프트를 구체화하여 더 나은 답변을 위한 컨텍스트를 명확히 하는 데 도움이 됩니다. 이제 GitHub Copilot 채팅은 컨텍스트가 명확하지 않은 경우 명확한 질문을 안내합니다.
사용자 지정 지침 사용
사용자 지정 지침 기능을 사용하면 미리 지정된 상황별 세부 정보를 채팅 질문에 자동으로 추가할 수 있습니다. 코필로트 채팅은 응답을 생성할 때 팀 작동 방식, 사용하는 도구 또는 프로젝트의 세부 사항과 같은 특정 컨텍스트에 맞게 조정된 지침을 사용합니다.
사용자 지정 지침을 구성하려면 다음을 수행합니다.
-
.github/copilot-instruction.md
만들기/추가합니다. - Tools>옵션>GitHub>Copilot를 통해 Visual Studio에서 기능을 사용하도록 설정>선택(미리 보기) .github/copilot-instructions.md 파일에서 사용자 지정 명령을 로드하고 요청에 추가하도록 설정합니다..
사용자 지정 지침은 채팅 보기 또는 인라인 채팅에 표시되지 않습니다. 그러나 Copilot에서 사용하는 경우.github/copilot-instructions.md
파일이 응답의 참조 목록에 나열됩니다.
일반적인 작업에는 Copilot 채팅에서 슬래시 명령 사용
Copilot Chat의 슬래시 명령을 사용하면 일반적인 개발 작업에 대한 의도를 빠르게 설정할 수 있습니다. 특정 슬래시 명령을 사용하여 질문을 구성하면 긴 질문을 작성하지 않고도 더 나은 답변을 얻을 수 있습니다.
채팅 창에서 슬래시 명령을 사용할 수 있으며, 수정하려는 코드에서 인라인 코드 지원을 직접적으로 사용할 수도 있습니다. 편집기에서 연 코드 파일을 수정하거나 추가하는 데 도움이 되는 명령은 인라인 코드 도우미와 채팅 창 모두에서 작동하는 반면, 보다 일반적인 코딩 질문에 대한 명령은 채팅 창에서만 작동합니다.
명령 | 사용량 | 채팅 창 | 인라인 채팅 |
---|---|---|---|
/문서 | 지정하거나 선택한 코드에 대한 주석을 추가합니다. 예제: - /doc DeleteBasketAsync method in BasketService.cs
- 원하는 코드를 선택하고 /doc 입력합니다. |
예 | 예 |
/설명하다 | 코드 설명을 가져옵니다. 예제: - /explain the AddItemToBasket method in BasketService.cs
- 원하는 코드를 선택하고 /explain 입력합니다. |
예 | 예 |
/수리하다 | 선택한 코드에서 문제에 대한 수정 사항을 제안합니다. 예제: - /fix the SetQuantities method in BasketService.cs
- 원하는 코드를 선택하고 /fix 입력합니다. |
예 | 예 |
/창조하다 | 지정된 질문에 대답하는 코드를 생성합니다. 예: /generate code to add two numbers in Calculator.cs |
예 | 예 |
/도움말 | 코필로트 채팅 사용에 대한 도움말을 참조하세요. 예: /help |
예 | 예 |
/최적화 | 선택한 코드의 실행 시간을 분석하고 개선합니다. 예제: - /optimize the AddItemToBasket method in BasketService.cs
- 원하는 코드를 선택하고 /optimize 입력합니다. |
예 | 예 |
/테스트 | 선택한 코드에 대한 단위 테스트를 만듭니다. 예: 원하는 코드를 선택하고 /tests using XUnit Framework 입력합니다. |
예 | 예 |
참조: 코필로트 결과를 특정 파일 또는 전체 솔루션으로 범위 지정
자연어로 코딩 관련 질문을 할 수 있으며 GitHub Copilot Chat은 Visual Studio에서 열려 있는 코드베이스의 컨텍스트에서 이에 답변합니다. 참조를 사용하면 질문에 대답할 때 Copilot에서 고려할 정보에 대해 더 구체적으로 확인할 수 있습니다.
코드베이스에서 특정 컨텍스트를 선택하면 긴 정보를 작성하거나 붙여넣지 않고도 더 나은 질문을 쉽게 작성할 수 있습니다. 컨텍스트를 지정하면 Copilot에서 보다 관련성 있는 답변을 제공할 수도 있습니다.
파일 참조
GitHub Copilot 채팅에서 파일을 쉽게 참조하려면 파일 이름의 시작 부분에 # 기호를 추가하기만 하면됩니다. 예를 들어, BasketService.cs라는 파일이 있는 경우, 채팅에서 #BasketService.cs라고 참조합니다.
메서드, 클래스 또는 함수 참조
Visual Studio 2022 버전 17.11이제 GitHub Copilot Chat에서 특정 메서드, 클래스 또는 함수를 참조할 수 있습니다.
GitHub Copilot Chat에서 메서드, 클래스 또는 함수를 쉽게 참조하려면 메서드, 클래스 또는 함수 이름의 시작 부분에 # 기호를 추가하기만 하면됩니다. 예를 들어 BasketAddItem메서드가 있는 경우 채팅에서 #BasketAddItem로 참조하십시오.
전체 솔루션 참조
IDE에서 활성화된 솔루션을 참조하려면 @workspace을 사용하여 컨텍스트를 확인하세요. 컨텍스트에 @workspace 사용하는 경우 Copilot Chat은 현재 열려 있고 IDE 내에서 작업 중인 파일, 프로젝트 및 구성에 대한 정보를 활용합니다. 이를 통해 코필로트 채팅은 보다 관련성이 높고 상황에 맞는 제안 및 답변을 제공할 수 있습니다.
Visual Studio 2022 버전 17.11에서 GitHub Copilot Enterprise 구독자는 이제 채팅에서 @github
사용하여 전체 리포지토리의 컨텍스트를 포함하고 웹을 검색할 수 있습니다(관리자가 검색을 사용하는 경우).
@github
사용할 때 Copilot에서 질문에 대답하는 데 사용할 수 있는 GitHub 관련 기술 컬렉션에 대해 자세히 알아보려면 CopilotGitHub 기술 사용을 참조하세요.
사용 예제
다음은 컨텍스트 제어에 대한 참조를 사용하는 몇 가지 예입니다.
예제 | 코필로트가 질문 형성하기 위해 사용하는 컨텍스트 |
---|---|
#MyFile.cs 목적은 무엇입니까: 66-72? | 파일의 정확한 섹션 |
#BasketService.cs 테스트는 어디에 있나요? | BasketService.cs |
/#BasketService.cs에서 #AddItemToBasket 설명 | BasketService.cs의 AddItemToBasket 메서드 |
이 @workspace 삭제 장바구니 메서드가 있나요? | IDE에서 열려 있는 현재 솔루션 |
#TestCalculator이라는 테스트 메서드가 있습니다. 올바르게 실행되고 있는지 확인하려면 어떻게 해야 하나요? | TestCalculator 메서드 |
#BasketService 클래스와 #OrderService 간의 차이점을 설명할 수 있나요? | BasketService 클래스 및 OrderService 클래스 |
내 @workspace에는 #AddItemToBasket이 어디에 있습니까? | IDE에서 열려 있는 현재 솔루션 |
코필로트 채팅에서 사용하는 원본 검토
부조종사 채팅은 모든 결과 후에 사용한 컨텍스트를 표시하므로 질문에 대답할 때 고려된 내용을 알 수 있습니다. Copilot 채팅에 질문을 하고 채팅 창에서 응답을 받으면 참조 드롭다운이 응답 아래에 표시됩니다. 참조 드롭다운 목록의 항목에는 해당 응답을 생성하기 위해 Copilot Chat에서 참조하는 컨텍스트가 표시됩니다. 이 정보는 더 나은 관련 답변을 얻기 위해 질문을 수정하는 데 도움이 될 수 있습니다.
구성: 코필로트와의 채팅을 스레드로 격리
코필로트 채팅을 광범위하게 사용하여 코딩할 때 질문을 하는 경우 대화를 주제별로 유지하는 방식으로 구성할 수 있습니다. Visual Studio용 부조종사 채팅은 이제 새 대화(스레드)를 시작하여 현재 작업에 집중할 수 있도록 하고 컨텍스트를 명확하게 유지하여 답변이 관련 기록을 기반으로 하는 쉬운 방법을 제공합니다.
새 채팅 스레드
채팅 창에서 새 스레드 만들기 선택하여 새 스레드를 시작할 수 있습니다.
채팅 스레드 전환
여러 진행 중인 스레드 중에서 선택하여 질문에 적합한 기록 컨텍스트를 제공할 수 있습니다.
채팅 창으로 인라인 채팅 승격
이제 Visual Studio 2022 버전 17.11에서는 인라인 채팅 기록을 채팅 창으로 승격하여 유지할 수 있습니다. 채팅 창에서 계속을 선택합니다. 대화의 레코드와 컨텍스트를 유지하고 채팅 창에서 계속합니다.
모범 사례
코필로트 채팅은 채팅 기록을 사용하여 요청에 대한 컨텍스트를 가져옵니다. 코필로트에게 관련 기록만 제공하려면 다음을 수행합니다.
- 스레드를 사용하여 새 작업에 대한 새 대화를 시작합니다.
- 더 이상 관련이 없거나 원하는 결과를 제공하지 않는 요청을 삭제합니다.
채팅 대화를 열어 두고 계속 반복하고 Copilot에게 제안된 솔루션을 개선하라는 메시지를 표시합니다. Copilot에는 생성된 코드의 컨텍스트와 현재 대화 기록이 모두 있습니다. 추가 질문을 계속하면 Copilot는 요구 사항에 따라 응답을 더욱 구체화합니다. GitHub Copilot 결과를 개선하기 위한 효과적인 프롬프트 전략은 프롬프트 설계에서 참조하세요.
다음 단계
- Visual Studio 대한 GitHub Copilot 환경
- Visual Studio용 GitHub Copilot 채팅 경험
- GitHub Copilot 신뢰 센터
- 제안, 피드백 및 문제 보내기
- GitHub Copilot 채팅 대한 지원
- GitHub Copilot 사용 방법: 프롬프트, 팁 및 사용 사례