VS Code에서 프롬프트 파일 사용
프롬프트 파일은 코드 생성, 코드 검토 수행 또는 프로젝트 구성 요소 스캐폴딩과 같은 일반적인 개발 작업을 위한 재사용 가능한 프롬프트를 정의하는 Markdown 파일입니다. 프롬프트 파일은 채팅에서 직접 실행할 수 있는 독립형 프롬프트이므로 표준화된 개발 워크플로 라이브러리를 만들 수 있습니다.
작업별 지침을 포함하거나 사용자 지정 지침을 참조하여 일관된 실행을 보장할 수 있습니다. 모든 요청에 적용되는 사용자 지정 지침과 달리 프롬프트 파일은 특정 작업을 위해 주문형으로 트리거됩니다.
VS Code는 프롬프트 파일에 대해 두 가지 범위 유형을 지원합니다.
- 작업 영역 프롬프트 파일: 작업 영역 내에서만 사용할 수 있으며 작업 영역의
.github/prompts폴더에 저장됩니다. - 사용자 프롬프트 파일: 여러 작업 영역에서 사용할 수 있으며 현재 VS Code 프로필에 저장됩니다.
프롬프트 파일 구조
프롬프트 파일은 Markdown 파일이며 .prompt.md 확장자를 사용하고 다음과 같은 구조를 가집니다.
머리글 (선택 사항)
머리글은 다음과 같은 필드를 가진 YAML 프런트매터 형식으로 지정됩니다.
| 필드 | 설명 |
|---|---|
설명 |
프롬프트에 대한 짧은 설명입니다. |
이름 |
채팅에서 /를 입력한 후 사용되는 프롬프트의 이름입니다. 지정하지 않으면 파일 이름이 사용됩니다. |
인수 힌트 |
프롬프트와 상호 작용하는 방법을 안내하기 위해 채팅 입력 필드에 표시되는 선택적 힌트 텍스트입니다. |
에이전트 |
프롬프트 실행에 사용되는 에이전트: ask, edit, agent 또는 사용자 지정 에이전트의 이름입니다. 기본적으로 현재 에이전트가 사용됩니다. 도구가 지정되어 있고 현재 에이전트가 ask 또는 edit인 경우 기본 에이전트는 agent입니다. |
모델 |
프롬프트 실행 시 사용되는 언어 모델입니다. 지정하지 않으면 모델 선택기에서 현재 선택된 모델이 사용됩니다. |
도구 |
이 프롬프트에 사용할 수 있는 도구 또는 도구 세트 이름 목록입니다. 빌트인 도구, 도구 세트, MCP 도구 또는 확장에서 제공하는 도구를 포함할 수 있습니다. MCP 서버의 모든 도구를 포함하려면 <server name>/* 형식을 사용합니다.채팅의 도구에 대해 자세히 알아보세요. |
주어진 도구를 프롬프트 실행 시 사용할 수 없는 경우 무시됩니다.
본문
프롬프트 파일 본문에는 채팅에서 프롬프트를 실행할 때 LLM에 전송되는 프롬프트 텍스트가 포함됩니다. AI가 따르기를 원하는 특정 지침, 가이드라인 또는 기타 관련 정보를 제공합니다.
Markdown 링크를 사용하여 다른 작업 영역 파일을 참조할 수 있습니다. 이러한 파일을 참조하려면 상대 경로를 사용하고 프롬프트 파일의 위치에 따라 경로가 올바른지 확인하세요.
본문 텍스트에서 에이전트 도구를 참조하려면 #tool:<tool-name> 구문을 사용합니다. 예를 들어 githubRepo 도구를 참조하려면 #tool:githubRepo를 사용합니다.
프롬프트 파일 내에서 ${variableName} 구문을 사용하여 변수를 참조할 수 있습니다. 다음 변수를 참조할 수 있습니다.
- 작업 영역 변수 -
${workspaceFolder},${workspaceFolderBasename} - 선택 변수 -
${selection},${selectedText} - 파일 컨텍스트 변수 -
${file},${fileBasename},${fileDirname},${fileBasenameNoExtension} - 입력 변수 -
${input:variableName},${input:variableName:placeholder}(채팅 입력 필드에서 프롬프트로 값 전달)
프롬프트 파일 예시
다음 예시는 프롬프트 파일 사용 방법을 보여줍니다. 커뮤니티에서 제공하는 더 많은 예시는 Awesome Copilot 리포지토리를 참조하세요.
예시: React 폼 구성 요소 생성
---
agent: 'agent'
model: GPT-4o
tools: ['githubRepo', 'search/codebase']
description: 'Generate a new React form component'
---
Your goal is to generate a new React form component based on the templates in #tool:githubRepo contoso/react-templates.
Ask for the form name and fields if not provided.
Requirements for the form:
* Use form design system components: [design-system/Form.md](../docs/design-system/Form.md)
* Use `react-hook-form` for form state management:
* Always define TypeScript types for your form data
* Prefer *uncontrolled* components using register
* Use `defaultValues` to prevent unnecessary rerenders
* Use `yup` for validation:
* Create reusable validation schemas in separate files
* Use TypeScript types to ensure type safety
* Customize UX-friendly validation rules
예시: REST API 보안 검토 수행
---
agent: 'ask'
model: Claude Sonnet 4
description: 'Perform a REST API security review'
---
Perform a REST API security review and provide a TODO list of security issues to address.
* Ensure all endpoints are protected by authentication and authorization
* Validate all user inputs and sanitize data
* Implement rate limiting and throttling
* Implement logging and monitoring for security events
Return the TODO list in a Markdown format, grouped by priority and issue type.
프롬프트 파일 생성
프롬프트 파일을 만들 때 작업 영역 또는 사용자 프로필에 저장할지 여부를 선택합니다. 작업 영역 프롬프트 파일은 해당 작업 영역에만 적용되며 사용자 프롬프트 파일은 여러 작업 영역에서 사용할 수 있습니다.
프롬프트 파일을 만들려면
-
채팅 보기에서 채팅 구성(톱니바퀴 아이콘) > 프롬프트 파일을 선택한 다음 새 프롬프트 파일을 선택합니다.

또는 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 채팅: 새 프롬프트 파일 또는 채팅: 새 제목 없는 프롬프트 파일 명령을 사용합니다.
-
프롬프트 파일을 생성할 위치를 선택합니다.
-
작업 영역: 작업 영역 내에서만 사용하도록 작업 영역의
.github/prompts폴더에 프롬프트 파일을 생성합니다. chat.promptFilesLocations 설정을 사용하여 작업 영역에 더 많은 프롬프트 폴더를 추가합니다. -
사용자 프로필: 모든 작업 영역에서 사용하도록 현재 프로필 폴더에 프롬프트 파일을 생성합니다. 현재 프로필 폴더로 이동합니다.
-
-
프롬프트 파일의 파일 이름을 입력합니다. 이것은 채팅에서
/를 입력할 때 나타나는 기본 이름입니다. -
Markdown 서식을 사용하여 채팅 프롬프트를 작성합니다.
- 프롬프트의 설명, 에이전트, 도구 및 기타 설정을 구성하려면 파일 상단의 YAML 프런트매터를 채웁니다.
- 파일 본문에 프롬프트에 대한 지침을 추가합니다.
기존 프롬프트 파일을 수정하려면 채팅 보기에서 채팅 구성 > 프롬프트 파일을 선택한 다음 목록에서 프롬프트 파일을 선택합니다. 또는 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 채팅: 프롬프트 파일 구성 명령을 사용하고 빠른 선택에서 프롬프트 파일을 선택합니다.
채팅에서 프롬프트 파일 사용
프롬프트 파일을 실행할 수 있는 여러 옵션이 있습니다.
-
채팅 보기에서 채팅 입력 필드에
/다음에 프롬프트 이름을 입력합니다.채팅 입력 필드에 추가 정보를 추가할 수 있습니다. 예를 들어
/create-react-form formName=MyForm또는/create-api for listing customers와 같이 사용합니다. -
명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 채팅: 프롬프트 실행 명령을 실행하고 빠른 선택에서 프롬프트 파일을 선택합니다.
-
프롬프트 파일을 편집기에서 열고 편집기 제목 영역의 재생 버튼을 누릅니다. 현재 채팅 세션에서 프롬프트를 실행하거나 새 채팅 세션을 열도록 선택할 수 있습니다.
이 옵션은 프롬프트 파일을 빠르게 테스트하고 반복하는 데 유용합니다.
도구 목록 우선순위
tools 메타데이터 필드를 사용하여 사용자 지정 에이전트 및 프롬프트 파일 모두에 대한 사용 가능한 도구 목록을 지정할 수 있습니다. 프롬프트 파일은 agent 메타데이터 필드를 사용하여 사용자 지정 에이전트를 참조할 수도 있습니다.
채팅에서 사용 가능한 도구 목록은 다음 우선순위 순서로 결정됩니다.
- 프롬프트 파일에 지정된 도구 (있는 경우)
- 프롬프트 파일에 참조된 사용자 지정 에이전트의 도구 (있는 경우)
- 선택한 에이전트에 대한 기본 도구 (있는 경우)
사용자 프롬프트 파일 기기 간 동기화
VS Code는 설정 동기화를 사용하여 여러 장치에서 사용자 프롬프트 파일을 동기화할 수 있습니다.
사용자 프롬프트 파일을 동기화하려면 프롬프트 및 지침 파일에 대한 설정 동기화를 활성화합니다.
-
설정 동기화가 활성화되어 있는지 확인합니다.
-
명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서 설정 동기화: 구성을 실행합니다.
-
동기화할 설정 목록에서 프롬프트 및 지침을 선택합니다.
프롬프트 파일 정의 팁
-
프롬프트가 수행해야 하는 작업과 예상되는 출력 형식을 명확하게 설명합니다.
-
예상되는 입력 및 출력의 예를 제공하여 AI의 응답을 안내합니다.
-
각 프롬프트에 지침을 복제하는 대신 사용자 지정 지침을 참조하려면 Markdown 링크를 사용합니다.
-
${selection}과 같은 빌트인 변수와 입력 변수를 활용하여 프롬프트를 더 유연하게 만듭니다. -
편집기 재생 버튼을 사용하여 프롬프트를 테스트하고 결과를 기반으로 다듬습니다.
