自定义 Copilot

使用 GitHub Copilot 进行软件开发

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

使用 GitHub Copilot 进行软件开发

使用 GitHub Copilot 进行软件开发

使用 GitHub Copilot 进行软件开发

使用 GitHub Copilot 进行软件开发

自定义说明如何工作

$$

定义:

  • 代码规范
  • 工具偏好
  • 项目背景

使用 GitHub Copilot 进行软件开发

自定义说明如何工作

$$

定义:

  • 代码规范
  • 工具偏好
  • 项目背景

使用 GitHub Copilot 进行软件开发

如何定义自定义说明

将其放入:.github/copilot-instructions.md

## 项目背景
使用 Airflow 的数据管道 Python 项目。

## 代码风格 - 所有函数使用类型注解
- 遵循 PEP8
- 使用 snake_case 命名
- 编写 Google 风格的文档字符串
## 测试 - 使用 pytest
- 每个函数包含一个测试
## 更多说明...
使用 GitHub Copilot 进行软件开发

什么是有效的说明

$$

✅ 有效的说明:

  • 简短且具体
  • 自包含
  • 提供上下文或相关信息

$$

❌ 无效的说明:

  • 依赖外部文档或仓库
  • 要求特定语气或写作风格
  • 限制细节或格式
1 https://docs.github.com/en/copilot/how-tos/configure-custom-instructions/add-repository-instructions
使用 GitHub Copilot 进行软件开发

$$

$$

## Style guidelines

- Conform to the coding styles defined 
in styleguide.md in repo my-org/my-repo

- Answer in the style of a friendly 
colleague, using informal language

- Answer in fewer than 1,000 characters

使用 GitHub Copilot 进行软件开发

$$

$$

## Style guidelines

- Conform to the coding styles defined 
in styleguide.md in repo my-org/my-repo

- Answer in the style of a friendly 
colleague, using informal language

- Answer in fewer than 1,000 characters

使用 GitHub Copilot 进行软件开发

如何启用自定义说明

  • 保存 copilot-instructions.md 文件
  • 它会自动包含在你的提示中

使用 GitHub Copilot 进行软件开发

如何启用自定义说明

  • 保存 copilot-instructions.md 文件
  • 它会自动包含在你的提示中

使用 GitHub Copilot 进行软件开发

使用多个说明文件

使用 GitHub Copilot 进行软件开发

使用多个说明文件

使用 GitHub Copilot 进行软件开发

使用多个说明文件

$$

使用 GitHub Copilot 进行软件开发

设置组织级说明

$$

使用 GitHub Copilot 进行软件开发

设置组织级说明

$$

公司范围规则示例:

  • 使用内部工具
  • 强制指定库
  • 统一风格
  • 对弃用模式发出警告
使用 GitHub Copilot 进行软件开发

多级说明的优先级

$$

$$

$$

作用域 优先级
个人说明 最高
项目说明 中等
组织说明 最低
使用 GitHub Copilot 进行软件开发

$$

示例提示: "编写一个函数,计算数值列表的平均值。"

def calculate_average(numbers: List[float]) -> float:
    """Calculate the average of a list of numbers.

    Args:
        numbers (List[float]): A list of numbers to average.

    Returns:
        float: The average value of the numbers.

    Raises:
        ValueError: If the list is empty.
    """
    if not numbers:
        raise ValueError("The list of numbers cannot be empty.")
    return sum(numbers) / len(numbers)
使用 GitHub Copilot 进行软件开发

$$

示例提示: "编写一个函数,计算数值列表的平均值。"

def calculate_average(numbers: List[float]) -> float:
    """Calculate the average of a list of numbers.

    Args:
        numbers (List[float]): A list of numbers to average.

    Returns:
        float: The average value of the numbers.

    Raises:
        ValueError: If the list is empty.
    """
    if not numbers:
        raise ValueError("The numbers list cannot be empty.")
    return sum(numbers) / len(numbers)

$$

使用 GitHub Copilot 进行软件开发

Vamos praticar!

使用 GitHub Copilot 进行软件开发

Preparing Video For Download...