注意
- 本库中的示例旨在提供灵感——我们鼓励您根据自己的项目、语言和团队流程进行更具体的调整。
- 欲查看社区贡献的针对特定语言和场景的自定义指令示例,请参阅 超赞的 GitHub Copilot 定制 仓库。
- 您可以根据创建自定义指令的平台或 IDE,在不同范围内应用它们。如需了解更多信息,请参阅“关于定制 GitHub Copilot 响应”。
关于自定义
您可以使用两种类型的文件自定义 GitHub Copilot 的响应。
- 自定义指令 为 GitHub Copilot 在所有交互中的行为提供持续指导。
- 提示文件(公开预览) 定义可重复使用的提示,以用于特定任务,您可以在需要时调用它们。提示文件仅在 VS Code、Visual Studio 和 JetBrains IDE 中可用。有关入门示例,请参见 您的首次提示文件。
虽然自定义指令有助于为每个 AI 工作流添加上下文,但提示文件可以让您在特定聊天交互中添加指令。
仓库自定义指令是使用最广泛且受支持的,但您也可以为 GitHub 中的 GitHub Copilot Chat 定义个人和组织自定义指令。您可以通过两种方式创建仓库自定义指令。
- 全仓库指令:在仓库根目录创建一个
copilot-instructions.md文件,适用于仓库中的所有文件。 - 特定路径指令:创建一个或多个带有
applyTo字段的.instructions.md文件,仅适用于特定文件或目录。特定路径指令当前在 Visual Studio Code、Visual Studio 的 Copilot Chat 以及 Copilot 云代理 中受支持。
您的首次指令
从这些核心自定义指令开始,帮助 GitHub Copilot 理解您的编码偏好。
编写函数的指令
When writing functions, always: - Add descriptive JSDoc comments - Include input validation - Use early returns for error conditions - Add meaningful variable names - Include at least one example usage in comments
When writing functions, always:
- Add descriptive JSDoc comments
- Include input validation
- Use early returns for error conditions
- Add meaningful variable names
- Include at least one example usage in comments
这些指令将改变 GitHub Copilot 生成函数的方式。
尝试一下
要快速测试自定义指令带来的差异,您可以在 Copilot Chat 中使用个人自定义指令。
-
首先,访问 github.com/copilot 并输入以下提示。
创建一个计算圆面积的 JavaScript 函数未使用自定义指令,您可能会得到
function areaOfCircle(radius) { if (typeof radius !== 'number' || radius < 0) { throw new Error('Radius must be a non-negative number'); } return Math.PI * radius * radius; } -
现在,点击页面左下角的个人头像,进入 个人指令。将上述指令粘贴到文本框中,然后点击 保存。
现在输入您之前输入的相同提示。
使用自定义指令,您将得到类似下面的结果
/** * Calculates the area of a circle given its radius. * * @param {number} radius - The radius of the circle. Must be a positive number. * @returns {number|null} The area of the circle, or null if the input is invalid. * * @example * // returns 78.53981633974483 * areaOfCircle(5); * * @example * // returns null (invalid input) * areaOfCircle(-2); */ function areaOfCircle(radius) { if (typeof radius !== "number" || isNaN(radius) || radius <= 0) { // Invalid input: radius must be a positive number return null; } const area = Math.PI * Math.pow(radius, 2); return area; } // Example usage: console.log(areaOfCircle(5)); // 78.53981633974483 console.log(areaOfCircle(-2)); // null
延伸阅读
- 关于定制 GitHub Copilot 响应 - GitHub Copilot 响应定制概览
- 为 GitHub Copilot 配置自定义指令 - 如何配置自定义指令
- 超赞的 GitHub Copilot 定制 - 社区贡献的针对特定语言和场景的自定义指令及其他定制的仓库