现已发布!阅读关于 12 月份的新功能和修复。

在 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 的简短描述。
name Prompt 的名称,在聊天中输入 / 后使用。如果未指定,则使用文件名。
argument-hint 在聊天输入字段中显示的选填提示文本,用于指导用户如何与 Prompt 交互。
agent 用于运行 Prompt 的代理:askeditagent自定义代理 的名称。默认情况下,使用当前代理。如果指定了工具且当前代理是 askedit,则默认代理为 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 文件

  1. 在“聊天”视图中,选择“配置聊天”(齿轮图标)> “Prompt 文件”,然后选择“新建 Prompt 文件”。

    Screenshot showing the Chat view, and Configure Chat menu, highlighting the Configure Chat button.

    或者,使用命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中的“Chat: New Prompt File”或“Chat: New Untitled Prompt File”命令。

  2. 选择应创建 Prompt 文件的位置。

    • 工作区:在工作区的 .github/prompts 文件夹中创建 Prompt 文件,仅在该工作区中使用。使用 chat.promptFilesLocations 设置为您的工作区添加更多 Prompt 文件夹。

    • 用户配置文件:在 当前配置文件文件夹 中创建 Prompt 文件,以便在所有工作区中使用。

  3. 为您的 Prompt 文件输入一个文件名。这是在聊天中键入 / 时出现的默认名称。

  4. 使用 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 文件非常有用。

提示

使用 chat.promptFilesRecommendations 设置,在开始新的聊天会话时将 Prompt 显示为推荐操作。

Screenshot showing an "explain" prompt file recommendation in the Chat view.

工具列表优先级

您可以使用 tools 元数据字段为自定义代理和 Prompt 文件指定可用工具列表。Prompt 文件还可以通过使用 agent 元数据字段来引用自定义代理。

聊天中可用工具的列表由以下优先级顺序确定

  1. 在 Prompt 文件中指定的工具(如果有)
  2. Prompt 文件中引用的自定义代理的工具(如果有)
  3. 所选代理的默认工具(如果有)

跨设备同步用户 Prompt 文件

VS Code 可以通过 设置同步 将您的用户 Prompt 文件同步到多个设备。

要同步您的用户 Prompt 文件,请为 Prompt 和指令文件启用设置同步

  1. 请确保您已启用 设置同步

  2. 使用命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))运行“Settings Sync: Configure”。

  3. 从要同步的设置列表中选择“Prompts and Instructions”。

定义 Prompt 文件的技巧

  • 清楚地描述 Prompt 应完成的任务和预期的输出格式。

  • 提供预期的输入和输出示例,以指导 AI 的响应。

  • 使用 Markdown 链接引用自定义指令,而不是在每个 Prompt 中重复指南。

  • 利用内置变量,如 ${selection} 和输入变量,使 Prompt 更具灵活性。

  • 使用编辑器播放按钮测试您的 Prompt,并根据结果进行改进。

© . This site is unofficial and not affiliated with Microsoft.