在 VS Code 中使用提示檔案
提示檔案是 Markdown 檔案,用於為常見的開發任務定義可重用的提示,例如生成程式碼、執行程式碼審查或腳手架專案元件。它們是獨立的提示,可以直接在聊天中執行,從而建立標準化的開發工作流庫。
它們可以包含特定任務的指南或引用自定義說明,以確保一致的執行。與適用於所有請求的自定義說明不同,提示檔案是按需觸發以執行特定任務的。
VS Code 支援兩種型別的提示檔案作用域
- 工作區提示檔案:僅在工作區內可用,並存儲在工作區的
.github/prompts資料夾中。 - 使用者提示檔案:可在多個工作區中使用,並存儲在當前 VS Code profile 中。
提示檔案結構
提示檔案是 Markdown 檔案,使用 .prompt.md 副檔名,並具有以下結構
頭部(可選)
頭部格式為 YAML frontmatter,包含以下欄位
| 欄位 | 描述 |
|---|---|
描述 |
對提示的簡短描述。 |
|
提示的名稱,在聊天中鍵入 / 後使用。如果未指定,則使用檔名。 |
argument-hint |
在聊天輸入欄位中顯示的可選提示文字,用於指導使用者如何與提示進行互動。 |
agent |
用於執行提示的代理:ask、edit、agent,或 自定義代理 的名稱。預設情況下,使用當前代理。如果指定了工具且當前代理為 ask 或 edit,則預設代理為 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 repository。
示例:生成 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.
建立提示檔案
建立提示檔案時,請選擇將其儲存在工作區還是使用者配置檔案中。工作區提示檔案僅適用於該工作區,而使用者提示檔案可在多個工作區中使用。
建立提示檔案
-
在“聊天”檢視中,選擇“配置聊天”(齒輪圖示)>“提示檔案”,然後選擇“新建提示檔案”。

或者,從命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P))執行“聊天:新建提示檔案”或“聊天:新建未命名提示檔案”命令。
-
選擇應建立提示檔案的位置。
-
工作區:在工作區的
.github/prompts資料夾中建立提示檔案,僅在該工作區內使用。使用 chat.promptFilesLocations 設定為工作區新增更多提示資料夾。 -
使用者配置檔案:在 當前配置檔案資料夾 中建立提示檔案,以便在所有工作區中使用。
-
-
為您的提示檔案輸入檔名。這是在聊天中鍵入
/時顯示的預設名稱。 -
使用 Markdown 格式撰寫聊天提示。
- 填寫檔案頂部的 YAML frontmatter,以配置提示的描述、代理、工具和其他設定。
- 在檔案正文中新增提示說明。
要修改現有的提示檔案,請在“聊天”檢視中,選擇“配置聊天”>“提示檔案”,然後從列表中選擇一個提示檔案。或者,從命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P))執行“聊天:配置提示檔案”命令,並從快速選擇中選擇提示檔案。
在聊天中使用提示檔案
您有多種執行提示檔案的選項
-
在“聊天”檢視中,在聊天輸入欄位中鍵入
/,後跟提示名稱。您可以在聊天輸入欄位中新增額外資訊。例如,
/create-react-form formName=MyForm或/create-api for listing customers。 -
從命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P))執行“聊天:執行提示”命令,並從快速選擇中選擇一個提示檔案。
-
在編輯器中開啟提示檔案,然後按編輯器標題區域的播放按鈕。您可以選擇在當前聊天會話中執行提示,或開啟一個新的聊天會話。
此選項對於快速測試和迭代您的提示檔案非常有用。
工具列表優先順序
您可以透過使用 tools 元資料欄位指定自定義代理和提示檔案的可用工具列表。提示檔案還可以透過使用 agent 元資料欄位引用自定義代理。
聊天中可用工具的列表由以下優先順序順序確定
- 提示檔案中指定的工具(如果有)
- 來自提示檔案中引用的自定義代理的工具(如果有)
- 所選代理的預設工具(如果有)
跨裝置同步使用者提示檔案
VS Code 可以透過 設定同步 在多個裝置之間同步您的使用者提示檔案。
要同步您的使用者提示檔案,請啟用“設定同步”以同步提示和說明檔案
-
確保您已啟用 設定同步。
-
從命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P))執行“設定同步:配置”。
-
從要同步的設定列表中選擇“提示和說明”。
定義提示檔案的技巧
-
清楚地描述提示應完成的任務以及預期的輸出格式。
-
提供預期輸入和輸出的示例,以指導 AI 的響應。
-
使用 Markdown 連結引用自定義說明,而不是在每個提示中複製指南。
-
利用內建變數,如
${selection}和輸入變數,使提示更靈活。 -
使用編輯器播放按鈕測試您的提示,並根據結果進行最佳化。
