在VS Code中使用提示文件

提示文件,也称为斜线命令,通过编码成独立的Markdown文件,在聊天中直接调用,简化了常见任务的提示。每个提示文件都包含任务特定的上下文和任务执行指南。

与自动应用的自定义指令不同,你需要在聊天中手动调用提示文件。

使用提示文件来:

  • 简化常见任务的提示,如搭建新组件、运行和修复测试,或准备拉取请求
  • 覆盖自定义代理的默认行为,例如创建最小实现计划或生成API调用的模型

提示文件位置

你可以为特定工作区或用户层面定义提示文件,这些文件在所有工作区中都可用。

范围 默认文件位置
工作空间 .github/prompts文件夹
用户简介 提示当前VS Code配置文件的文件夹

你可以通过以下方式配置工作区提示文件的额外文件位置

chat.promptFiles位置
  • 在VS代码中打开
  • 在VS Code Insiders中开放
环境。

提示文件格式

提示文件是带有.prompt.md延伸。可选的 YAML 前置句头用于配置提示的行为:

场地 必修 描述
描述 简要介绍一下这个题目。
名称 提示词的名字,是在聊天中输入后使用的。如果未指定,则使用文件名。/
论证提示 在聊天输入栏中显示提示文本,指导用户如何与提示互动。
特工 用于运行提示词的代理:问问,特工,计划或者是某个海关代理的名字。默认情况下,使用当前代理。如果指定了工具,默认代理为特工.
模型 运行提示时使用的语言模型。如果未指定,则使用模型选择器中当前选择的模型。
工具 本提示可用的工具或工具集名称列表。可以包含内置工具、工具集、MCP工具或由扩展贡献的工具。要包含MCP服务器的所有工具,可以使用<服务器名称>/*格式。
在聊天中了解更多关于工具的信息。
注释

如果运行提示时某工具不可用,则该工具将被忽略。

正文包含Markdown格式的提示文本。提供具体的指示、指导方针或其他你希望AI遵循的相关信息。

你可以通过使用Markdown链接引用其他工作区文件。使用相对路径来引用这些文件,并确保路径根据提示文件的位置正确。

要在正文中引用代理工具,请使用#tool:<工具名>语法。例如,引用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
示例:使用变量
---
description: 'Generate unit tests for the current file'
agent: 'agent'
tools: ['search', 'read', 'edit']
---
Generate unit tests for [${fileBasename}](${file}).

* Place the test file in the same directory: ${fileDirname}
* Name the test file: ${fileBasenameNoExtension}.test.ts
* Test framework: ${input:framework:jest or vitest}
* Follow testing conventions in: [testing.md](../docs/testing.md)

If there is a selection, only generate tests for this code:
${selection}

本示例结合了工作区、文件上下文、选择变量和输入变量。当你运行提示时,副驾驶会解析${file},${fileBasename},${fileDirname}, 和${fileBasenameNoExtension}从主动编辑器中,使用${selection}对于任何选中的文本,并提示你输入一个值${input:framework}.

示例:对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.

创建一个提示文件

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

创建提示文件:

提示

类型/提示在聊天输入中快速打开配置提示文件菜单。

  1. 在聊天视图中,选择配置聊天(齿轮图标)>提示文件,然后选择新提示文件

    截图显示聊天视图和配置聊天菜单,重点显示配置聊天按钮。

    或者,使用命令面板中的聊天:新提示文件聊天:新无标题提示文件命令(⇧⌘P(Windows,Linux Ctrl+Shift+P)。

  2. 选择提示文件的范围:

    • 工作区:在.github/prompts在你工作区的文件夹里,只在该工作区内使用它。为你的工作区添加更多提示文件夹,使用

      chat.promptFiles位置
      • 在VS代码中打开
      • 在VS Code Insiders中开放
      环境。

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

  3. 输入提示文件的文件名。这是你在聊天中输入时默认出现的名字。/

  4. 使用Markdown格式来编写聊天提示。

    • 在文件顶部填写 YAML 前言,配置提示词的描述、代理、工具及其他设置。
    • 在文件正文中添加提示说明。

要修改已有的提示文件,在聊天视图中选择“配置聊天>提示文件”,然后从列表中选择提示文件。或者,使用命令面板中的聊天:配置提示文件命令(⇧⌘P(Windows,Linux Ctrl+Shift+P),然后从快速选择中选择提示文件。

在聊天中使用提示文件

你有多种方式来运行提示文件:

  • 在聊天视图中,输入“后”提示词“,输入聊天输入字段中的提示名称。特工技能还以斩击命令的形式出现在提示文件旁边。/

    你可以在聊天输入栏添加额外信息。例如,/create-react-form formName=MyForm/create-api 用于列出客户.

  • 从命令面板(Windows,Linux Ctrl+Shift+P)中运行聊天:运行提示符命令,然后从快速选择中选择提示文件。

  • 在编辑器中打开提示文件,然后在编辑器标题区域按下播放按钮。你可以选择在当前聊天会话中运行提示,或者开启新的聊天会话。

    这个选项非常适合快速测试和迭代提示文件。

提示

使用该

chat.promptFiles推荐
  • 在VS代码中打开
  • 在VS Code Insiders中开放
设置在开始新聊天会话时将提示显示为推荐作。

聊天视图中显示“解释”提示文件推荐的截图。

工具列表优先级

你可以通过以下方式指定自定义代理和提示文件可用的工具列表工具元数据字段。提示文件也可以通过使用特工元数据字段。

聊天中可用工具的列表由以下优先级排序决定:

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

跨设备同步用户提示文件

VS Code 可以通过设置同步功能,将你的用户提示文件同步到多个设备。

要同步用户提示文件,请启用提示和指令文件的设置同步:

  1. 确保你启用了设置同步

  2. 运行设置同步:从命令面板配置(Windows,Linux Ctrl+Shift+P)。

  3. 从设置列表中选择“提示和指令”进行同步。

写有效提示的技巧

  • 清晰描述提示应达成的目标以及期望的输出格式。

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

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

  • 利用内置变量,比如${selection}以及输入变量以使提示更灵活。

  • 使用编辑器播放按钮测试提示,并根据结果进行优化。

常见问题解答

我怎么知道提示文件的来源?

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

为了识别提示文件的来源:

  1. 选择聊天:从命令面板中配置提示文件⇧⌘P(Windows,Linux Ctrl+Shift+P)。
  2. 将鼠标悬停在列表中的提示文件上。源代码位置会显示在提示中。
提示

使用聊天自定义诊断视图查看所有加载的提示文件和错误。在聊天视图中右键点击,选择诊断。了解更多关于在VS Code中排查AI的问题