与 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 中各种函数的快速访问,因此只需几个击键即可执行复杂的任务。
- 通过选择
Ctrl+Shift+P(Windows 或 Linux)或Cmd+Shift+PMac,在 Visual Studio Code 中打开命令面板。 - 输入 Copilot 以查看可用的命令。
- 选择“解释此”或“生成单元测试”等操作可获取协助。
Copilot Chat
Copilot Chat 是一项交互式功能,让你可以通过使用自然语言与 Copilot 通信。 你可以提出问题或请求代码片段,Copilot 会根据输入提供响应。
- 在 IDE 中打开 Copilot 聊天面板。
- 以自然语言输入问题或请求,然后评估 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 的上下文特定对话。 可以使用此功能请求代码修改或解释,而无需切换上下文。
- 将光标置于需要协助的位置。
- 使用键盘快捷方式
Ctrl+I(Windows 或 Linux) 或Cmd+I(Mac) 打开内联聊天。 - 提问或请求特定于该代码位置的更改。
内联聊天可帮助你专注于代码的特定部分并接收有针对性的建议。 此外,还可以利用斜杠命令进行更高效的交互。
斜杠命令是快捷方式,可用于在 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 可以提供多个替代方法。
- 当 Copilot 提供建议时,请查找灯泡图标。
- 选择图标或使用
Alt+](Windows/Linux) 或Option+](Mac) 循环浏览替代项。
多个建议可帮助你探索不同的编码方法,并选择最合适的方法。
说明
了解现有代码至关重要,尤其是在大型项目中。 可以使用“解释此”功能来获取代码片段的说明。
- 选择代码块。
- 右键单击代码块,然后选择 Copilot: 在快捷菜单上解释这一点。
- 阅读 Copilot 为所选代码提供的说明。
此功能可用于学习目的以及查看其他人编写的代码。
自动测试生成
单元测试对于确保代码质量和可靠性至关重要。 Copilot 可以通过为函数或类生成单元测试来节省时间和精力。
- 选择函数或类。
- 使用命令面板选择 Copilot:生成单元测试。
- 查看 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 交互越多,它就越能理解你的编码风格和偏好。