在 VS Code 中使用提示檔案
提示檔案是 Markdown 檔案,用於為常見的開發任務定義可複用的提示,例如生成程式碼、執行程式碼審查或搭建專案元件。它們是獨立的提示,可以直接在聊天中執行,從而能夠建立一個標準化的開發工作流程庫。
它們可以包含特定於任務的指南或引用自定義指令,以確保一致的執行。與適用於所有請求的自定義指令不同,提示檔案是針對特定任務按需觸發的。
提示檔案目前是實驗性功能,在未來的版本中可能會發生變化。
VS Code 支援兩種型別的提示檔案作用域
- 工作區提示檔案:僅在工作區內可用,並存儲在工作區的
.github/prompts
資料夾中。 - 使用者提示檔案:可在多個工作區中使用,並存儲在當前的 VS Code 配置檔案中。
提示檔案示例
以下示例演示瞭如何使用提示檔案。更多社群貢獻的示例,請參閱 Awesome Copilot 倉庫。
示例:生成一個 React 表單元件
---
mode: 'agent'
model: GPT-4o
tools: ['githubRepo', 'codebase']
description: 'Generate a new React form component'
---
Your goal is to generate a new React form component based on the templates in #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 執行安全審查
---
mode: '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.
提示檔案格式
提示檔案是 Markdown 檔案,使用 .prompt.md
副檔名,並具有以下結構
-
頭部(可選):YAML frontmatter
description
:提示的簡短描述mode
:用於執行提示的聊天模式:ask
、edit
或agent
(預設)。model
:執行提示時使用的語言模型。如果未指定,則使用模型選擇器中當前選擇的模型。tools
:可以使用的工具(集)名稱陣列。選擇配置工具以從工作區中的可用工具列表中選擇工具。如果在執行提示時給定的工具(集)不可用,它將被忽略。
-
正文:Markdown 格式的提示指令
透過使用 Markdown 連結來引用其他工作區檔案、提示檔案或指令檔案。使用相對路徑來引用這些檔案,並確保路徑根據提示檔案的位置是正確的。
在提示檔案中,您可以使用
${variableName}
語法引用變數。您可以引用以下變數- 工作區變數 -
${workspaceFolder}
、${workspaceFolderBasename}
- 選擇變數 -
${selection}
、${selectedText}
- 檔案上下文變數 -
${file}
、${fileBasename}
、${fileDirname}
、${fileBasenameNoExtension}
- 輸入變數 -
${input:variableName}
、${input:variableName:placeholder}
(從聊天輸入欄位向提示傳遞值)
- 工作區變數 -
建立提示檔案
建立提示檔案時,選擇是將其儲存在工作區還是使用者配置檔案中。工作區提示檔案僅適用於該工作區,而使用者提示檔案可在多個工作區中使用。
要建立提示檔案
-
啟用 chat.promptFiles 設定。
-
在聊天檢視中,選擇配置聊天 > 提示檔案,然後選擇新建提示檔案。
或者,從命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))使用聊天:新建提示檔案命令。
-
選擇提示檔案應建立的位置。
-
工作區:預設情況下,工作區提示檔案儲存在工作區的
.github/prompts
資料夾中。使用 chat.promptFilesLocations 設定為您的工作區新增更多提示資料夾。
-
-
為您的提示檔案輸入一個名稱。
-
使用 Markdown 格式編寫聊天提示。
在提示檔案中,以 Markdown 連結(
[index](../index.ts)
)的形式引用額外的工作區檔案。您還可以引用其他
.prompt.md
檔案來建立提示的層級結構。您也可以用同樣的方式引用指令檔案。
要修改現有的提示檔案,請在聊天檢視中選擇配置聊天 > 提示檔案,然後從列表中選擇一個提示檔案。或者,從命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))使用聊天:配置提示檔案命令,並從快速選擇中選擇提示檔案。
在聊天中使用提示檔案
您有多種選項來執行提示檔案
-
在聊天檢視的輸入欄位中,輸入
/
後跟提示檔名。此選項使您能夠在聊天輸入欄位中傳遞附加資訊。例如,
/create-react-form
或/create-react-form: formName=MyForm
。 -
從命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))執行聊天:執行提示命令,並從快速選擇中選擇一個提示檔案。
-
在編輯器中開啟提示檔案,然後按編輯器標題區域的播放按鈕。您可以選擇在當前聊天會話中執行提示或開啟一個新的聊天會話。
此選項對於快速測試和迭代您的提示檔案非常有用。
跨裝置同步使用者提示檔案
VS Code 可以使用設定同步在多個裝置間同步您的使用者提示檔案。
要同步您的使用者提示檔案,請為提示和指令檔案啟用設定同步
-
確保您已啟用設定同步。
-
從命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))執行設定同步:配置。
-
從要同步的設定列表中選擇提示和指令。
定義提示檔案的技巧
-
清楚地描述提示應完成的任務以及期望的輸出格式。
-
提供預期輸入和輸出的示例,以指導 AI 的響應。
-
使用 Markdown 連結引用自定義指令,而不是在每個提示中重複指南。
-
利用內建變數(如
${selection}
)和輸入變數使提示更加靈活。 -
使用編輯器播放按鈕測試您的提示,並根據結果進行最佳化。