Skip to main content

首条自定义说明

使用这个简单的示例创建并测试你的首条自定义说明。

注意

  • 此库中的示例旨在提供灵感,建议进行相应调整,使其更特定于你的项目、语言和团队流程。
  • 如需获取社区提供的有关特定语言和场景的自定义指令示例,请参阅出色的 GitHub Copilot 自定义内容仓库。
  • 可以跨不同范围应用自定义指令,具体取决于要在其中创建自定义指令的平台或 IDE。 有关详细信息,请参阅“关于自定义 GitHub Copilot 响应”。

关于自定义

可以使用两类文件来自定义 GitHub Copilot 的响应:

  •           **自定义说明**为 GitHub Copilot 在你的所有交互中的行为方式提供持续指导。
    
  •           **提示文件(公共预览版)** 定义你可在需要时调用的特定任务的可重用提示。 提示文件仅适用于 VS Code、Visual Studio 和 JetBrains IDE。 有关介绍性示例,请参阅 [AUTOTITLE](/copilot/tutorials/customization-library/prompt-files/your-first-prompt-file)。
    

虽然自定义说明有助于将上下文添加到每个 AI 工作流,但提示文件使你能够向特定聊天交互添加说明。

最常用且受到最广泛支持的是仓库自定义说明,但你也可以定义个人和组织的自定义说明,仅面向 GitHub 中的 GitHub Copilot Chat。 可以通过两种方式创建仓库自定义指令:

  • 全仓库内的指令:在仓库根目录中创建一个应用于仓库中所有文件的 copilot-instructions.md 文件****。
  • 特定于路径的指令:使用 applyTo 字段创建一个或多个仅应用于特定文件或目录的 .instructions.md 文件****。 Visual Studio Code 中的 Copilot 对话助手 和 GitHub Copilot 编码代理当前支持特定于路径的指令********。

你的首条说明

从这些核心自定义说明开始,这些说明帮助 GitHub Copilot 了解你的编码首选项。

关于编写函数的说明

Markdown
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 对话助手 中使用个人自定义指令。

  1. 首先,转到 github.com/copilot,输入以下提示:

    Create a JavaScript function that calculates the area of a circle

               **在没有自定义说明的情况下**,你可能会得到以下输出:
    
    function areaOfCircle(radius) {
        if (typeof radius !== 'number' || radius < 0) {
            throw new Error('Radius must be a non-negative number');
        }
        return Math.PI * radius * radius;
    }
    
  2. 现在,单击页面左下角的个人资料图片以访问你的个人自定义说明,然后单击“Personal instructions”。 将上述说明粘贴到文本框中,然后单击“Save”

    现在输入你之前输入过的提示。

               **在有自定义说明的情况下**,你将得到以下输出:
    
    /**
     * 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
    

其他阅读材料

  •         [AUTOTITLE](/copilot/concepts/response-customization) - GitHub Copilot 中的响应自定义概述
    
  •         [AUTOTITLE](/copilot/how-tos/configure-custom-instructions) - 如何配置自定义指令
    
  •         [出色的 GitHub Copilot 自定义内容](https://github.com/github/awesome-copilot/blob/main/README.md) - 社区提供的自定义指令的仓库以及特定语言和场景的其他自定义内容