VS Code에서 GitHub Copilot을 위한 커스텀 지침
팀의 워크플로우, 도구 또는 프로젝트 세부 사항에 대한 컨텍스트 정보를 제공하여 Copilot의 채팅 응답을 향상시킬 수 있습니다. 모든 채팅 쿼리에 이 컨텍스트를 수동으로 포함시키는 대신, 커스텀 지침 파일을 만들어 모든 채팅 요청에 이 정보를 자동으로 포함시킬 수 있습니다.
Copilot은 채팅 화면, 빠른 채팅 또는 인라인 채팅의 채팅 프롬프트에 이러한 지침을 적용합니다. 이러한 지침은 채팅에 표시되지 않지만 VS Code에 의해 Copilot에 전달됩니다.
특정 목적을 위한 커스텀 지침을 지정할 수 있습니다:
-
코드 생성 지침 - 코드 생성에 특화된 컨텍스트를 제공합니다. 예를 들어, 비공개 변수는 항상 밑줄로 시작해야 한다거나 싱글톤은 특정 방식으로 구현되어야 한다고 지정할 수 있습니다. 설정이나 워크스페이스의 마크다운 파일에서 코드 생성 지침을 지정할 수 있습니다.
-
테스트 생성 지침 - 테스트 생성에 특화된 컨텍스트를 제공합니다. 예를 들어, 생성된 모든 테스트가 특정 테스팅 프레임워크를 사용해야 한다고 지정할 수 있습니다. 설정이나 워크스페이스의 마크다운 파일에서 테스트 생성 지침을 지정할 수 있습니다.
-
코드 리뷰 지침 - 현재 편집기 선택 항목을 검토하는 데 특화된 컨텍스트를 제공합니다. 예를 들어, 리뷰어가 코드에서 특정 유형의 오류를 찾아야 한다고 지정할 수 있습니다. 설정이나 워크스페이스의 마크다운 파일에서 리뷰 선택 지침을 지정할 수 있습니다.
-
커밋 메시지 생성 지침 - 커밋 메시지 생성에 특화된 컨텍스트를 제공합니다. 설정이나 워크스페이스의 마크다운 파일에서 커밋 메시지 생성 지침을 지정할 수 있습니다.
커스텀 지침은 일반적인 문장으로 구성되며, 채팅 질문을 보완하기 위한 컨텍스트이나 관련 정보를 추가하는 짧고 자체 완결적인 문장이어야 합니다.
코드 생성 커스 텀 지침 정의하기
Copilot은 리팩토링의 일부로, 단위 테스트 생성 또는 기능 구현과 같은 코드 생성을 도와줄 수 있습니다. 프로젝트에서 사용하고 싶은 특정 라이브러리가 있거나, Copilot이 생성하는 코드에 대해 따르고 싶은 특정 코딩 스타일이 있을 수 있습니다.
Copilot은 코드 완성에는 코드 생성 지침을 적용하지 않습니다.
설정 사용하기
github.copilot.chat.codeGeneration.instructions
설정을 사용하여 커스텀 코드 생성 지침을 구성할 수 있습니다. 사용자 또는 워크스페이스 수준에서 커스텀 지침을 정의할 수 있으며, 언어별 지침 도 지정할 수 있습니다. 언어별 설정에 대한 자세한 정보를 확인하세요.
다음 코드 스니펫은 settings.json
파일에서 지침 세트를 정의하는 방법을 보여줍니다. 설정에서 직접 지침을 정의하려면 text
속성을 구성하세요. 외부 파일을 참조하려면 file
속성을 구성하세요.
"github.copilot.chat.codeGeneration.instructions": [
{
"text": "Always add a comment: 'Generated by Copilot'."
},
{
"text": "In TypeScript always use underscore for private field names."
},
{
"file": "code-style.md" // import instructions from file `code-style.md`
}
],
code-style.md
파일의 내용 예시:
Always use React functional components.
Always add comments.
.github/copilot-instructions.md
파일 사용하기
워크스페이스나 리포지토리에 .github/copilot-instructions.md
파일로 커스텀 지침을 저장하여 VS Code가 이 파일을 자동으로 감지하도록 할 수도 있습니다.
.github/copilot-instructions.md
파일과 설정 모두에서 커스텀 지침을 정의하면, Copilot은 두 소스의 지침을 결합하려고 시도합니다.
Visual Studio의 GitHub Copilot도 .github/copilot-instructions.md
파일을 감지합니다. VS Code와 Visual Studio 모두에서 사용하는 워크스페이스가 있다면, 동일한 파일을 사용하여 두 편집기 모두에 대한 커스텀 지침을 정의할 수 있습니다.
-
VS Code의 Copilot이 커스텀 지침 파일을 사용하도록 지시하려면
github.copilot.chat.codeGeneration.useInstructionFiles
설정을true
로 설정하세요. -
워크스페이스 루트에
.github/copilot-instructions.md
파일을 만드세요. 필요한 경우 먼저.github
디렉토리를 만드세요.팁VS Code의 탐색기 화면에서 파일 이름으로 전체 경로를 입력하여 폴더와 파일을 한 번에 만들 수 있습니다.
-
파일에 일반적인 문장으로 지침을 추가하세요. 마크다운 형식을 사용할 수 있습니다.
지침 사이의 공백은 무시되므로, 지침을 한 단락으로 작성하거나, 각각 새 줄에 작성하거나, 가독성을 위해 빈 줄로 구분할 수 있습니다.
테스트 생성 커스텀 지침 정의하기
채팅 화면에서 @workspace /tests
프롬프트를 사용하는 등의 방법으로 Copilot을 사용하여 코드의 테스트를 생성할 수 있습니다. 커스텀 지침을 정의하여 프로젝트와 개발 워크플로우에 특화된 테스트를 생성하도록 Copilot을 도울 수 있습니다.
커스텀 테스트 생성 지침을 구성하려면 github.copilot.chat.testGeneration.instructions
설정을 사용하세요. 사용자 또는 워크스페이스 수준에서 커스텀 지침을 정의할 수 있습니다.
다음 코드 스니펫은 settings.json
파일에서 지침 세트를 정의하는 방법을 보여줍니다. 설정에서 직접 지침을 정의하려면 text
속성을 구성하세요. 외부 파일을 참조하려면 file
속성을 구성하세요.
"github.copilot.chat.testGeneration.instructions": [
{
"text": "Always use vitest for testing React components."
},
{
"text": "Use Jest for testing JavaScript code."
},
{
"file": "code-style.md" // import instructions from file `code-style.md`
}
],
code-style.md
파일의 내용 예시:
Always add code comments.
Always use React functional components.
코드 리뷰 커스텀 지침 정의하기
Copilot을 사용하여 편집기에서 코드 선택 영역을 리뷰할 수 있습니다. 커스텀 지침을 정의하여 프로젝트와 개발 워크플로우에 관련된 특정 코드 리뷰 기준을 Copilot이 고려하도록 도울 수 있습니다.
커스텀 코드 리뷰 지침을 구성하려면 github.copilot.chat.reviewSelection.instructions
설정을 사용하세요. 사용자 또는 워크스페이스 수준에서 커스텀 지침을 정의할 수 있습니다.
커밋 메시지 생성 커스텀 지침 정의하기
소스 제어 화면에서 Copilot을 사용하여 대기 중인 코드 변경에 대한 커밋 메시지를 생성할 수 있습니다. 커스텀 지침을 정의하여 프로젝트와 개발 워크플로우에 특화된 특정 형식과 구조를 고려한 커밋 메시지를 생성하도록 Copilot을 도울 수 있습니다.
커스텀 커밋 메시지 생성 지침을 구성하려면 github.copilot.chat.commitMessageGeneration.instructions
설정을 사용하세요. 사용자 또는 워크스페이스 수준에서 커스텀 지침을 정의할 수 있습니다.
커스텀 지침 정의를 위한 팁
-
지침을 짧고 자체 완결적으로 유지하세요. 각 지침은 단일하고 단순한 문장이어야 합니다. 여러 정보를 제공해야 하는 경우 여러 지침을 사용하세요.
-
지침에서 특정 코딩 표준과 같은 외부 리소스를 참조하지 마세요.
-
지침을 외부 파일에 저장하여 팀이나 프로젝트 간에 커스텀 지침을 쉽게 공유할 수 있게 하세요. 시간이 지남에 따라 변경 사항을 추적하기 위해 파일을 버전 관리할 수도 있습니다.
설정
github.copilot.chat.codeGeneration.instructions
: Copilot이 코드를 생성하는 요청에 추가될 지침 세트입니다.github.copilot.chat.codeGeneration.useInstructionFiles
(Preview):.github/copilot-instructions.md
의 코드 지침을 Copilot 요청에 추가할지 여부를 제어합니다.github.copilot.chat.testGeneration.instructions
: Copilot이 테스트를 생성하는 요청에 추가될 지침 세트입니다.github.copilot.chat.reviewSelection.instructions
(Preview): 현재 편집기 선택 영역을 검토하는 Copilot 요청에 추가될 지침 세트입니다.github.copilot.chat.commitMessageGeneration.instructions
: Copilot이 커밋 메시지를 생성하는 요청에 추가될 지침 세트입니다.
관련 콘텐츠
- Copilot 채팅을 사용하여 AI 채팅 대화를 활용하는 방법을 알아보세요.