GitHub Copilot 可以根据你的个人偏好、团队的工作方式、你使用的工具或项目的具体细节提供量身定制的响应,前提是你提供了足够的上下文。 可以创建自定义说明,自动为你添加此信息,而不是重复将此上下文详细信息添加到提示中。 附加信息不会显示,但可供 Copilot 使用,以使其生成更高质量的响应。
自定义说明的类型
GitHub Copilot 命令行界面 (CLI) 支持以下几种类型的自定义指令。
代码库范围的自定义指令
这些请求适用于存储库上下文中发出的所有请求。
这些在存储库根目录的 copilot-instructions.md 目录中的 .github 文件中指定。 请参阅创建全仓库内的自定义指令。
路径特定的自定义说明
这些适用于在与指定路径匹配的文件上下文中发出的请求。
这些文件在存储库根目录的 NAME.instructions.md 目录或当前工作目录中的 .github/instructions 目录中或以下的一个或多个 .github/instructions 文件中指定。 请参阅创建路径特定的自定义指令。
如果在这些指令中指定的路径与 Copilot 正在处理的文件匹配,并且存储库范围的自定义指令文件也存在,则使用这两个文件中的指令。 你应该避免指令之间潜在的冲突,因为 Copilot 在冲突指令之间的选择是不确定的。
智能体说明
各款 AI 智能体会使用这些指令。
可以创建一个或多个 AGENTS.md 文件。 这些目录可以位于存储库的根目录、当前工作目录或环境变量中 COPILOT_CUSTOM_INSTRUCTIONS_DIRS 以逗号分隔的路径列表指定的任何目录中。
`AGENTS.md`根目录中的指令(如果找到)被视为主要指令。 如果在存储库的根目录中找到 `AGENTS.md` 文件和 `.github/copilot-instructions.md` 文件,则使用这两个文件中的说明。
在其他 AGENTS.md 文件中找到的说明被视为其他说明。 比其他指令相比,所发现的任何主要指令对 Copilot 的响应的影响更大。
有关详细信息,请参阅 agentsmd/agents.md 存储库。
或者,可以使用 CLAUDE.md 和 GEMINI.md 文件。 这些属性必须位于存储库的根目录中。
本地说明
这些应用在特定本地环境中。
可以在自己的主目录中通过创建文件$HOME/.copilot/copilot-instructions.md来指定指令。
还可以将 COPILOT_CUSTOM_INSTRUCTIONS_DIRS 环境变量设置为逗号分隔的目录列表。 Copilot 命令行界面(CLI) 将在每个目录中查找 AGENTS.md 文件以及任何 .github/instructions/**/*.instructions.md 文件。
创建全仓库内的自定义指令
-
在存储库的根目录中,创建名为
.github/copilot-instructions.md的文件。创建
.github目录(如果尚不存在)。 -
以 Markdown 格式在该文件中添加自然语言说明。
系统会忽略说明信息间的空格,因此可将信息编写为一个段落,每个段落位于一行上,或用空白行分隔,以保持其可读性。
有关编写有效自定义说明的帮助,请参阅 关于自定义GitHub Copilot 响应。
创建路径特定的自定义指令
你是否已成功将自定义指令文件添加到你的仓库中?
<a href="https://docs.github.io/success-test/yes.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline">
<span>是</span></a><a href="https://docs.github.io/success-test/no.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline"><span>否</span></a>
正在使用的自定义说明
文件(s)中的说明可在保存文件后立即使用 Copilot 。 指令会自动添加到您提交给Copilot的请求中。
如果你在 CLI 会话期间更改自定义说明,则下次在当前或将来的会话中提交提示时,这些更改可供 Copilot 使用。
延伸阅读
-
[AUTOTITLE](/copilot/reference/custom-instructions-support) -
[AUTOTITLE](/copilot/tutorials/customization-library/custom-instructions) — 精选的示例集合 -
[AUTOTITLE](/copilot/tutorials/use-custom-instructions)