작성자는 Microsoft 서유럽에서 개발자 생산성 GTM을 이끌고 있습니다. GitHub Copilot은 이 사업 영역의 일부입니다.
GitHub Copilot Chat은 코드에 대해 채팅할 수 있는 매우 강력하고 유용한 기능입니다. 100% 자연어 친화적(즉, 특정 구문을 사용하지 않고 메시지를 보낼 수 있음)이지만 일부 특수 채팅 기능을 활용하면 새로운 AI 지원 개발 시나리오를 활용하고 생산성을 크게 높일 수 있습니다.
특수 구문을 적용하여 사용할 수 있는 이러한 강력한 기능에는 채팅 참가자, 슬래시 명령 및 컨텍스트 변수가 포함됩니다. 설명된 기능은 VS Code에서 사용할 수 있으며 GitHub Copilot Chat을 사용할 수 있는 다른 IDE에서는 완전히 지원되지 않을 수 있습니다.
GitHub Copilot Chat에서는 참가자 이름 앞에 @를 추가하여 기존 채팅 구문을 사용하여 AI 기반 "도메인 전문가" 중 한 명을 참조할 수 있습니다. 현재 사용 가능한 채팅 참가자는 다음과 같습니다.
@workspace
: 현재 열려 있는 작업 공간의 코드에 대한 모든 것을 알고 있습니다. 이 사람은 귀하가 자주 소통할 가능성이 가장 높은 채팅 참가자입니다.
@terminal
: 통합 터미널 셸, 내용 및 버퍼에 대한 모든 것을 알고 있습니다.
@vscode
: VS Code 편집기, 해당 명령 및 기능에 대해 알고 있습니다. 예: VS Code에서 프로젝트 폴더를 연 직후 @workspace
채팅 참가자 에게 물어봄으로써 방금 할당한 프로젝트의 백엔드 부분에 대한 정보를 얻습니다 .
이 특별한 경우에는 편집기에서 파일을 열 필요조차 없습니다. @workspace
태그를 지정하지 않고 받은 응답과 비교해 보세요.
@workspace
채팅 참가자는 채팅 응답을 위해 모든 코드를 고려하려는 모든 솔루션 전체 쿼리에 중요한 역할을 합니다. 그러나 이것이 모든 코드가 프롬프트의 일부로 사용되고 전송된다는 의미는 아닙니다. VS Code의 GitHub Copilot Chat 확장은 먼저 로컬 지식과 인텔리전스를 사용하여 관련 파일과 이러한 파일의 일부를 결정하는 데 최선을 다합니다. "사용된 참조" 행을 확장하여 프롬프트에 사용된 파일 및 코드 행을 확인할 수 있습니다.
생산성 힌트: 메시지를 입력한 후 Enter 대신 Ctrl-Enter(Cmd-Enter)를 사용하면 @workspace
문자열이 메시지를 보내기 전에 자동으로 메시지에 삽입됩니다.
대부분의 경우 @workspace
사용하여 질문이나 요청의 맥락으로 전체 솔루션을 고려하는 것은 과잉입니다. 메시지에서 특정 파일이나 파일의 일부를 가리킬 수도 있습니다. 채팅 변수가 도움이 될 수 있습니다! 다음 목록에서 전화하려면 #을 사용하세요.
#file
: 작업공간의 특정 파일을 가리킵니다.
#codebase
: 열려 있는 작업공간의 모든 콘텐츠입니다. 이는 @workspace
사용하는 것과 유사하며 다른 상담원(예: @terminal
)과 채팅하지만 여전히 전체 솔루션을 참조하고 싶을 때 유용할 수 있습니다.
#editor
: 편집기 뷰포트의 소스 코드(표시되는 부분)입니다.
#git
: 현재 git 저장소: 분기, 원격, 경로 등
#selection
: 현재 선택된 코드입니다.
#terminalLastCommand
: 편집기 터미널에서 마지막으로 실행된 명령입니다.
#terminalSelection
: 편집기 터미널에서 선택합니다.예: 특정 파일의 메소드 이름을 개선하는 데 도움을 받아 보겠습니다(그리고 파일의 전체 내용이 고려되도록 하고 싶습니다).
생산성 힌트: #을 입력한 후 위쪽 및 아래쪽 키보드 화살표를 사용하여 필요한 채팅 변수를 선택하세요. #file
의 경우 키보드 탐색을 다시 사용하여 제안된 파일 중 하나를 선택합니다.
자연어를 사용하여 코드와 채팅하는 것도 재미있지만 편리한 단축키를 사용하여 자주 사용하는 작업을 호출할 수 있는 옵션이 있으면 더 좋습니다. 전체 메시지 "선택한 코드 작동 방식 설명"을 입력하는 것과 "/"를 입력한 다음 키보드 화살표를 사용하여 팝업 오버레이에서 /explain
선택하는 것을 비교해 보세요.
명령에 대해 미리 정의된 구문을 사용하는 또 다른 이점은 GitHub Copilot이 우리의 의도를 100% 정확하게 이해한다는 확신입니다(자연어에는 약간의 모호함이 있을 수 있음).
사용할 수 있는 슬래시 명령이 많이 있습니다. 원하는 범위를 제공하기 위해 채팅 참가자를 참조하는 것과 함께 사용할 수 있습니다. 일부 명령은 다음과 같습니다.
/help
: 사용 가능한 슬래시 명령, 채팅 참가자, 채팅 변수 등에 대한 도움말입니다.
/doc
: 코드에 대한 문서를 생성합니다.
/explain
: 코드 작동 방식을 설명합니다. 또는 @terminal을 앞에 추가하면 터미널 명령에 대한 도움말을 볼 수 있습니다.
/fix
: 코드의 문제를 최적화 및/또는 수정합니다.
/tests
: 코드에 대한 단위 테스트를 만듭니다.
/new
: 새 작업공간을 스캐폴드합니다. 예: 코드의 정규식 중 하나에 대한 설명을 살펴보겠습니다. 코드 줄을 선택하고 슬래시 명령 “ /explain
사용합니다.
생산성 힌트: 채팅을 항상 측면 창에 열어 두는 대신 인라인 모드에서 GitHub Copilot Chat을 사용해 보세요. Ctrl-I(Cmd-I)를 누르고 코드 창에서 커서가 있는 줄 바로 위에 나타나는 작은 오버레이 대화 상자에 메시지를 입력하세요.
채팅 참가자, 채팅 변수 및 슬래시 명령을 사용하여 대화 컨텍스트에 대한 완전한 제어를 유지하고, 의도를 정확하고 일관되게 이해하고, 궁극적으로 채팅 및 코딩을 더 빠르게 하세요! 여기에서 무료 GitHub Copilot 평가판을 시작하세요: https://aka.ms/try-github-copilot
https://github.blog/changelog/2023-11-30-github-copilot-november-30th-update/
https://code.visualstudio.com/docs/copilot/copilot-chat#_chat-participants
https://devblogs.microsoft.com/visualstudio/copilot-chat-slash-commands-and-context-variables/
https://code.visualstudio.com/updates/v1_85#_terminal-agent-and-command-suggestion-improvements
https://code.visualstudio.com/updates/v1_84#_chat-agents