在 VS Code 中使用 Prompt 文件
Prompt 文件是 Markdown 文件,用于定义可重用的 Prompt,以应对常见的开发任务,如生成代码、执行代码审查或构建项目组件。它们是独立的 Prompt,可以直接在聊天中运行,从而能够创建标准化的开发工作流程库。
它们可以包含任务特定的指南或引用自定义指令,以确保执行的一致性。与适用于所有请求的自定义指令不同,Prompt 文件是按需触发以执行特定任务的。
VS Code 支持两种范围的 Prompt 文件
- 工作区 Prompt 文件:仅在工作区内可用,并存储在工作区的
.github/prompts文件夹中。 - 用户 Prompt 文件:可在多个工作区中使用,并存储在当前的 VS Code profile 中。
Prompt 文件结构
Prompt 文件是 Markdown 文件,使用 .prompt.md 扩展名,并具有以下结构
头部(可选)
头部格式为 YAML frontmatter,包含以下字段
| 字段 | 描述 |
|---|---|
描述 |
Prompt 的简短描述。 |
|
Prompt 的名称,在聊天中输入 / 后使用。如果未指定,则使用文件名。 |
argument-hint |
在聊天输入字段中显示的选填提示文本,用于指导用户如何与 Prompt 交互。 |
agent |
用于运行 Prompt 的代理:ask、edit、agent 或 自定义代理 的名称。默认情况下,使用当前代理。如果指定了工具且当前代理是 ask 或 edit,则默认代理为 agent。 |
model |
运行 Prompt 时使用的语言模型。如果未指定,则使用模型选择器中当前选择的模型。 |
tools |
可用于此 Prompt 的工具或工具集名称列表。可以包括内置工具、工具集、MCP 工具或扩展提供的工具。要包含 MCP 服务器的所有工具,请使用 <server name>/* 格式。了解有关 聊天工具 的更多信息。 |
如果在运行 Prompt 时某个工具不可用,则该工具将被忽略。
正文
Prompt 文件正文包含在聊天中运行 Prompt 时发送到 LLM 的 Prompt 文本。提供您希望 AI 遵循的具体说明、指南或任何其他相关信息。
您可以使用 Markdown 链接引用其他工作区文件。使用相对路径来引用这些文件,并确保路径相对于 Prompt 文件的位置是正确的。
要在正文文本中引用代理工具,请使用 #tool:<tool-name> 语法。例如,要引用 githubRepo 工具,请使用 #tool:githubRepo。
在 Prompt 文件中,您可以使用 ${variableName} 语法引用变量。您可以引用以下变量
- 工作区变量 -
${workspaceFolder}、${workspaceFolderBasename} - 选择变量 -
${selection}、${selectedText} - 文件上下文变量 -
${file}、${fileBasename}、${fileDirname}、${fileBasenameNoExtension} - 输入变量 -
${input:variableName}、${input:variableName:placeholder}(从聊天输入字段向 Prompt 传递值)
Prompt 文件示例
以下示例演示了如何使用 Prompt 文件。有关更多社区贡献的示例,请参阅 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.
创建 Prompt 文件
创建 Prompt 文件时,请选择将其存储在工作区还是用户配置文件中。工作区 Prompt 文件仅适用于该工作区,而用户 Prompt 文件可在多个工作区中使用。
创建 Prompt 文件
-
在“聊天”视图中,选择“配置聊天”(齿轮图标)> “Prompt 文件”,然后选择“新建 Prompt 文件”。

或者,使用命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中的“Chat: New Prompt File”或“Chat: New Untitled Prompt File”命令。
-
选择应创建 Prompt 文件的位置。
-
工作区:在工作区的
.github/prompts文件夹中创建 Prompt 文件,仅在该工作区中使用。使用 chat.promptFilesLocations 设置为您的工作区添加更多 Prompt 文件夹。 -
用户配置文件:在 当前配置文件文件夹 中创建 Prompt 文件,以便在所有工作区中使用。
-
-
为您的 Prompt 文件输入一个文件名。这是在聊天中键入
/时出现的默认名称。 -
使用 Markdown 格式编写聊天 Prompt。
- 填写文件顶部的 YAML frontmatter,以配置 Prompt 的描述、代理、工具和其他设置。
- 在文件正文中添加 Prompt 的说明。
要修改现有的 Prompt 文件,请在“聊天”视图中选择“配置聊天”> “Prompt 文件”,然后从列表中选择一个 Prompt 文件。或者,使用命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中的“Chat: Configure Prompt Files”命令,然后从快速选择中选择 Prompt 文件。
在聊天中使用 Prompt 文件
您有多种选项来运行 Prompt 文件
-
在“聊天”视图中,在聊天输入字段中键入
/,后跟 Prompt 名称。您可以在聊天输入字段中添加额外信息。例如,
/create-react-form formName=MyForm或/create-api for listing customers。 -
使用命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))运行“Chat: Run Prompt”命令,然后从快速选择中选择一个 Prompt 文件。
-
在编辑器中打开 Prompt 文件,然后按编辑器标题区域的播放按钮。您可以选择在当前聊天会话中运行 Prompt,或者打开一个新的聊天会话。
此选项对于快速测试和迭代 Prompt 文件非常有用。
工具列表优先级
您可以使用 tools 元数据字段为自定义代理和 Prompt 文件指定可用工具列表。Prompt 文件还可以通过使用 agent 元数据字段来引用自定义代理。
聊天中可用工具的列表由以下优先级顺序确定
- 在 Prompt 文件中指定的工具(如果有)
- Prompt 文件中引用的自定义代理的工具(如果有)
- 所选代理的默认工具(如果有)
跨设备同步用户 Prompt 文件
VS Code 可以通过 设置同步 将您的用户 Prompt 文件同步到多个设备。
要同步您的用户 Prompt 文件,请为 Prompt 和指令文件启用设置同步
-
请确保您已启用 设置同步。
-
使用命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))运行“Settings Sync: Configure”。
-
从要同步的设置列表中选择“Prompts and Instructions”。
定义 Prompt 文件的技巧
-
清楚地描述 Prompt 应完成的任务和预期的输出格式。
-
提供预期的输入和输出示例,以指导 AI 的响应。
-
使用 Markdown 链接引用自定义指令,而不是在每个 Prompt 中重复指南。
-
利用内置变量,如
${selection}和输入变量,使 Prompt 更具灵活性。 -
使用编辑器播放按钮测试您的 Prompt,并根据结果进行改进。
