在 VS Code 中使用提示词文件

提示词文件(也称为斜杠命令)允许您将常见任务编码为独立的 Markdown 文件,从而简化提示词流程,您可以直接在对话中调用它们。每个提示词文件都包含特定任务的上下文以及关于应如何执行该任务的准则。

与自动应用的自定义指令不同,提示词文件需要您在对话中手动调用。

使用提示词文件的场景:

  • 简化常见任务的提示词编写,例如搭建新组件、运行并修复测试,或准备拉取请求 (Pull Request)
  • 覆盖自定义智能体(Agent)的默认行为,例如创建最小实现方案或为 API 调用生成模型草图
提示

提示词文件、智能体还是技能?对于轻量级的单任务提示词,请使用提示词文件。当您需要一个拥有自身工具限制和移交机制的持久化角色时,请使用自定义智能体。当您需要一种包含脚本和资源且可移植的多文件能力时,请使用智能体技能

提示

使用智能体自定义编辑器(预览版)可以集中发现、创建和管理所有的智能体自定义配置。通过命令面板运行 Chat: Open Customizations 即可打开。

提示词文件位置

您可以为特定工作区定义提示词文件,也可以在用户级别定义,使其在所有工作区中可用。下表列出了根据作用域划分的提示词文件默认位置。您可以通过 chat.promptFilesLocations 在 VS Code 中打开 在 VS Code Insiders 中打开 设置来配置额外的工作区提示词文件位置。

范围 默认文件位置
工作区 .github/prompts 文件夹
用户配置文件 您的用户数据(特定于您的 VS Code 配置文件)

要在用户数据中创建提示词文件,请使用“智能体自定义”编辑器或使用 Chat: New Prompt File 命令。

提示

在 monorepo(单体仓库)中,启用 chat.useCustomizationsInParentRepositories 在 VS Code 中打开 在 VS Code Insiders 中打开 即可从父仓库根目录发现提示词文件。了解更多关于父仓库发现的信息。

提示词文件格式

提示词文件是扩展名为 .prompt.md 的 Markdown 文件。可选的 YAML 元数据头(frontmatter)可配置提示词的行为。

字段 必需 描述
描述 提示词的简短描述。
name 提示词的名称,在对话中输入 / 后使用。如果未指定,则使用文件名。
argument-hint 在对话输入框中显示的提示文字,用于引导用户如何与该提示词交互。
agent 用于运行提示词的智能体:askagentplan自定义智能体的名称。默认情况下,使用当前智能体。如果指定了工具,则默认智能体为 agent
model 运行提示词时使用的语言模型。如果未指定,则使用模型选择器中当前选定的模型。
tools 可供此提示词使用的工具或工具集名称列表。可以包含内置工具、工具集、MCP 工具或由扩展提供的工具。要包含 MCP 服务器的所有工具,请使用 <服务器名称>/* 格式。
了解更多关于对话中的工具
注意

如果运行提示词时给定的工具不可用,它将被忽略。

正文包含 Markdown 格式的提示词文本。提供具体的指令、准则或您希望 AI 遵循的任何其他相关信息。

您可以使用 Markdown 链接引用其他工作区文件。使用相对路径来引用这些文件,并确保路径基于提示词文件的位置是正确的。

要在正文中引用智能体工具,请使用 #tool:<工具名称> 语法。例如,要引用 browser 工具,请使用 #tool:browser

提示

如果您希望用户提供额外信息,可以使用 vscode/askQuestion 工具。您还可以使用类似 ${input:variableName}${input:variableName:placeholder} 的语法。大多数语言模型都能理解此语法并会提示用户进行输入。

以下示例演示了如何使用提示词文件。有关社区贡献的更多示例,请查看 Awesome Copilot 仓库

示例:生成 React 表单组件
---
agent: 'agent'
model: GPT-4o
tools: ['search/codebase', 'vscode/askQuestions']
description: 'Generate a new React form component'
---
Your goal is to generate a new React form component based on the templates in the Github repo contoso/react-templates.

Use the #tool:vscode/askQuestions to 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.

创建提示词文件

创建提示词文件时,请选择将其存储在工作区还是用户配置文件中。工作区提示词文件仅适用于该工作区,而用户提示词文件可在多个工作区中使用。

创建提示词文件的方法:

提示

在对话输入框中输入 /prompts,快速打开配置提示词文件菜单。

  1. 在 Chat 视图中,选择配置 Chat(齿轮图标)以打开“智能体自定义”编辑器,然后选择提示词选项卡。

  2. 从下拉菜单中选择新建提示词 (工作区)新建提示词 (用户),具体取决于您希望存储文件的位置。

    Screenshot of the Agent Customizations editor, showing the Prompts tab and the dropdown to create a new prompt file.

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

  3. 选择位置并为您的提示词文件输入文件名。这是您在对话中输入 / 时显示的默认名称。

  4. 使用 Markdown 格式编写对话提示词。

    • 在文件顶部填写 YAML 元数据,以配置提示词的描述、智能体、工具和其他设置。
    • 在文件正文中添加提示词的指令。

您可以通过在“智能体自定义”编辑器中打开现有提示词文件来对其进行修改。

使用 AI 生成提示词文件

您可以利用 AI 根据任务描述生成提示词文件。在对话中输入 /create-prompt 并描述您想要自动化的任务(例如,“用于生成单元测试的提示词”)。智能体会提出澄清问题,生成带有适当元数据和指令的 .prompt.md 文件,并为您提供工作区存储还是用户存储的选择。

您还可以从正在进行的对话中提取可重用的提示词。例如,在多轮对话之后,询问“turn this into a reusable prompt(将此转化为可重用的提示词)”或“save this workflow as a prompt(将此工作流程保存为提示词)”,智能体就会创建一个捕获该工作流程的提示词文件。

您还可以通过在“智能体自定义”编辑器中从下拉菜单选择生成提示词来生成提示词文件。

在对话中使用提示词文件

您有多种运行提示词文件的方法:

  • 在 Chat 视图的对话输入框中,输入 / 后跟提示词名称。智能体技能也会与提示词文件一起作为斜杠命令显示。

    您可以在对话输入框中添加额外信息。例如,/create-react-form formName=MyForm/create-api for listing customers

  • 从命令面板(⇧⌘P(Windows, Linux 为 Ctrl+Shift+P)运行 Chat: Run Prompt 命令,并从快速选择列表中选择一个提示词文件。

  • 在编辑器中打开提示词文件,然后点击编辑器标题区域的播放按钮。您可以选择在当前对话会话中运行提示词,或打开新的对话会话。

    此选项对于快速测试和迭代您的提示词文件非常有用。

提示

使用 chat.promptFilesRecommendations 在 VS Code 中打开 在 VS Code Insiders 中打开 设置,以便在开始新对话时将提示词显示为推荐操作。

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

工具列表优先级

您可以通过使用 tools 元数据字段,为自定义智能体和提示词文件指定可用工具列表。提示词文件还可以通过使用 agent 元数据字段引用自定义智能体。

对话中可用工具的列表由以下优先级决定:

  1. 提示词文件中指定的工具(如有)
  2. 提示词文件中引用的自定义智能体的工具(如有)
  3. 所选智能体的默认工具(如有)

跨设备同步用户提示词文件

VS Code 可以通过使用设置同步在多台设备间同步您的用户提示词文件。

要同步您的用户提示词文件,请启用“设置同步”并从命令面板(⇧⌘P(Windows, Linux 为 Ctrl+Shift+P)运行 Settings Sync: Configure。从要同步的设置列表中选择提示词和指令

编写有效提示词的技巧

  • 清晰地描述提示词应完成的任务以及预期的输出格式。

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

  • 使用 Markdown 链接引用自定义指令,而不是在每个提示词中重复准则。

  • 利用内置变量(如 ${selection})和输入变量,使提示词更加灵活。

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

常见问题

如何知道提示词文件来自哪里?

提示词文件可以来自不同的源:内置的、您配置文件中用户定义的、当前工作区中定义的,或扩展贡献的提示词。

要识别提示词文件的来源:

  1. 从命令面板(⇧⌘P(Windows, Linux 为 Ctrl+Shift+P)中选择 Chat: Configure Prompt Files
  2. 将鼠标悬停在列表中的提示词文件上。源位置将显示在工具提示中。
提示

使用“对话自定义诊断”视图查看所有已加载的提示词文件及任何错误。在 Chat 视图中右键单击并选择诊断。了解更多关于在 VS Code 中排查 AI 问题的信息。

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