如何配置vscode copilot提示词 how to config vscode copilot prompt

正文

以下中文为机翻,原文英文见

在 VS Code 中使用提示文件

提示文件是 Markdown 文件,用于定义可重用的提示,适用于生成代码、进行代码审查或搭建项目组件等常见开发任务。它们是独立的提示,可以直接在聊天中运行,从而创建标准化开发工作流的库。

它们可以包含特定任务的指南或引用自定义指令以确保一致的执行。与适用于所有请求的自定义指令不同,提示文件是按需触发的,用于特定任务。

VS Code 支持两种类型的提示文件作用域:

  • 工作区提示文件 :仅在工作区中可用,并存储在工作区的 .github/prompts 文件夹中。
  • 用户提示文件 :可在多个工作区中使用,并存储在当前的 VS Code 配置文件 中。

提示文件结构

提示文件是 Markdown 文件,使用 .prompt.md 扩展名,并具有以下结构:

标题(可选)

标题是使用 YAML frontmatter 格式化的,包含以下字段:

展开表格

字段 描述
description 提示的简短描述。
name 提示的名称,用于在聊天中输入 / 后使用。若未指定,则使用文件名。
argument-hint 聊天输入框中显示的可选提示文本,用于指导用户如何与提示进行交互。
agent 运行提示时使用的代理: askeditagent 或自定义代理的名称。默认情况下,使用当前代理。如果指定了工具且当前代理为 askedit,则默认代理为 agent
model 运行提示时使用的语言模型。如果未指定,则使用模型选择器中当前选择的模型。
tools 可用于此提示的工具或工具集名称列表。可以包括内置工具、工具集、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 表单组件

Markdown

---
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 进行安全审查

Markdown

---
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. 在聊天视图中,选择 配置聊天 (齿轮图标) > 提示文件 ,然后选择 新建提示文件或者,使用命令面板中的 Chat: 新建提示文件Chat: 新建无标题提示文件 命令 (⇧⌘P)。
  2. 选择创建提示文件的位置。
  • 工作区 :在你的工作区的 .github/prompts 文件夹中创建提示文件,以便仅在该工作区中使用。通过 chat.promptFilesLocations 设置为你的工作区添加更多提示文件夹。
  • 用户配置文件 :在 当前配置文件文件夹 中创建提示文件,以便在所有工作区中使用。
  1. 输入一个提示文件的文件名。这是在聊天中输入 / 时默认显示的名称。
  2. 使用 Markdown 格式编写聊天提示。
  • 在文件顶部填写 YAML 前置信息以配置提示的描述、代理、工具和其他设置。
  • 在文件正文中添加提示指令。

要修改现有的提示文件,在聊天视图中选择 配置聊天 > 提示文件 ,然后从列表中选择一个提示文件。或者,使用命令面板中的 Chat: 配置提示文件 命令(⇧⌘P),并在快速选择中选择提示文件。

在聊天中使用提示文件

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

  • 在聊天视图中,输入 /,然后在聊天输入框中输入提示文件名称。你可以在聊天输入框中添加额外信息。例如, /create-react-form formName=MyForm/create-api for listing customers
  • 通过命令面板(⇧⌘P)运行 Chat: Run Prompt 命令,并从快速选择器中选择一个提示文件。
  • 在编辑器中打开提示文件,并按下编辑器标题区域的播放按钮。您可以选择在当前聊天会话中运行提示,或打开一个新的聊天会话。此选项适用于快速测试和迭代您的提示文件。

提示

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

工具列表优先级

你可以在 tools 元数据字段中指定自定义代理和提示文件可用的工具列表。提示文件也可以通过 agent 元数据字段引用自定义代理。

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

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

在设备间同步用户提示文件

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

同步您的用户提示文件,请启用设置同步功能以同步提示和指令文件:

  1. 确保已启用 Settings Sync
  2. 从命令面板 (⇧⌘P) 运行 Settings Sync: Configure
  3. 从要同步的设置列表中选择 Prompts and Instructions

定义提示文件的技巧

  • 明确描述提示应完成的任务以及预期的输出格式。
  • 提供预期输入和输出的示例,以指导 AI 的响应。
  • 使用 Markdown 链接引用自定义指令,而不是在每个提示中重复指南内容。
  • 利用内置变量如 ${selection} 和输入变量,使提示更加灵活。
  • 使用编辑器播放按钮测试您的提示,并根据结果进行调整。

相关资源

Help and support