与 Copilot 交互

已完成

本单元探讨在开发环境中最大化与 GitHub Copilot 交互的方法。 通过了解服务的特性和功能,了解如何有效地使用它。

以下部分介绍了触发和使用 GitHub Copilot 的各种方法,以及帮助你充分利用它的示例和快捷方式。

内联建议

内联建议是 Copilot 最直接的协助形式。 在你输入时,Copilot 会分析你的代码和上下文,以实时提供代码补全建议。 此功能会预测你接下来可能想要编写的内容,并以一种微妙且不引人注目的方式显示建议。

Copilot 产品/服务的建议在光标前显示为灰显文本。

  • 若要接受建议,请选择 Tab 键或 >(向右箭头)键。
  • 若要拒绝建议,请继续键入或选择 Esc 键。

在处理重复任务或需要快速样本代码时,内联建议特别有用。

下面是一个示例:

def calculate_average(numbers):
    # Start typing here and watch Copilot suggest the function body

命令面板

命令面板提供对 Copilot 中各种函数的快速访问,因此只需几个击键即可执行复杂的任务。

  1. 通过选择 Ctrl+Shift+P (Windows 或 Linux)或 Cmd+Shift+P Mac,在 Visual Studio Code 中打开命令面板。
  2. 输入 Copilot 以查看可用的命令。
  3. 选择“解释此”或“生成单元测试”等操作可获取协助。

Copilot Chat

Copilot Chat 是一项交互式功能,让你可以通过使用自然语言与 Copilot 通信。 你可以提出问题或请求代码片段,Copilot 会根据输入提供响应。

  1. 在 IDE 中打开 Copilot 聊天面板。
  2. 以自然语言输入问题或请求,然后评估 Copilot 响应。

例如,可以输入:“如何在 Python 中实现二进制搜索?”Copilot Chat 非常适合探索新的编码概念或在遇到不熟悉的语法时获取帮助。

Copilot 可能会响应:

def binary_search(arr, target):
    left, right = 0, len(arr) - 1
    while left <= right:
        mid = (left + right) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            left = mid + 1
        else:
            right = mid - 1
    return -1

内联聊天

内联聊天直接在代码编辑器中启用与 Copilot 的上下文特定对话。 可以使用此功能请求代码修改或解释,而无需切换上下文。

  1. 将光标置于需要协助的位置。
  2. 使用键盘快捷方式 Ctrl+I (Windows 或 Linux) 或 Cmd+I (Mac) 打开内联聊天。
  3. 提问或请求特定于该代码位置的更改。

内联聊天可帮助你专注于代码的特定部分并接收有针对性的建议。 此外,还可以利用斜杠命令进行更高效的交互。

斜杠命令是快捷方式,可用于在 Copilot 中快速执行作。 这些命令提供了一种与 Copilot 交互的便捷方法,而无需浏览菜单。

下面是一些常见的斜杠命令及其用法:

  • /explain - 提供所选代码的说明。
  • /suggest - 根据当前上下文提供代码建议。
  • /tests - 为所选函数或类生成单元测试。
  • /comment - 将注释转换为代码片段。

若要使用斜杠命令,只需在编辑器中键入命令并按 Enter。 例如:

# Select the function, use the shortcut to open the inline chat, and type: /explain
def calculate_average(numbers):

对代码的注释

Copilot 利用自然语言处理将注释转换为代码。 可以在批注中描述所需的功能。 选择 Enter 键时,Copilot 会根据说明生成代码。

下面是一个示例:

# Function to reverse a string
def reverse_string(s):
    # Copilot suggests the function body here
## Function to reverse a string
def reverse_string(s):
    return s[::-1]

此方法适用于快速起草代码,尤其是在任务简单明了的情况下。

多项建议

对于复杂的代码片段,Copilot 可以提供多个替代方法。

  1. 当 Copilot 提供建议时,请查找灯泡图标。
  2. 选择图标或使用 Alt+] (Windows/Linux) 或 Option+] (Mac) 循环浏览替代项。

多个建议可帮助你探索不同的编码方法,并选择最合适的方法。

说明

了解现有代码至关重要,尤其是在大型项目中。 可以使用“解释此”功能来获取代码片段的说明。

  1. 选择代码块。
  2. 右键单击代码块,然后选择 Copilot: 在快捷菜单上解释这一点。
  3. 阅读 Copilot 为所选代码提供的说明。

此功能可用于学习目的以及查看其他人编写的代码。

自动测试生成

单元测试对于确保代码质量和可靠性至关重要。 Copilot 可以通过为函数或类生成单元测试来节省时间和精力。

  1. 选择函数或类。
  2. 使用命令面板选择 Copilot:生成单元测试
  3. 查看 Copilot 为代码建议的测试用例。

下面是一个示例:

def add(a, b):
    return a + b

# Copilot might generate a test like this:
def test_add():
    assert add(2, 3) == 5
    assert add(-1, 1) == 0
    assert add(0, 0) == 0

自动测试生成有助于在开发过程中保持代码完整性并捕获 bug。

请记住,Copilot 会从上下文中学习。 保持代码结构清晰并添加注释有助于 Copilot 提供更准确和相关的协助。 你与 Copilot 交互越多,它就越能理解你的编码风格和偏好。