跳至主要内容

您的第一个自定义指令

使用此简单示例创建并测试您的第一个自定义指令。

注意

  • 本库中的示例旨在提供灵感——我们鼓励您根据自己的项目、语言和团队流程进行更具体的调整。
  • 欲查看社区贡献的针对特定语言和场景的自定义指令示例,请参阅 超赞的 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 理解您的编码偏好。

编写函数的指令

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 Chat 中使用个人自定义指令。

  1. 首先,访问 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;
    }
    
  2. 现在,点击页面左下角的个人头像,进入 个人指令。将上述指令粘贴到文本框中,然后点击 保存

    现在输入您之前输入的相同提示。

    使用自定义指令,您将得到类似下面的结果

    /**
     * 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
    

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.