Visual Studio 中的 GitHub Copilot 代码补全是什么?

Visual Studio 中的 GitHub CopilotVisual Studio 中启用增强的 AI 辅助开发。 在编写代码时,此功能可帮助你提高工作效率和效率。

在本文中,你将了解 GitHub Copilot Completions,这是一款适用于 Visual Studio 的 AI 驱动编程助手,提供上下文敏感的代码补全、建议,甚至完整代码片段。 它可帮助开发人员减少重复任务花费的时间,并最大程度地减少错误。

有关 GitHub Copilot Chat 的相关信息,请参阅 Visual Studio 的 GitHub Copilot 聊天体验是什么?

GitHub Copilot 的工作原理

GitHub Copilot 的工作原理是使用基于 GitHub 存储库中大量公开可用的代码数据集训练的高级机器学习模型。 键入代码时,AI 会分析上下文,并实时提供相关建议。 您还可以通过撰写描述代码要执行的功能的自然语言注释来接收建议。

显示 GitHub Copilot 扩展的代码完成功能的动画屏幕截图。

此外,你还可以使用 GitHub Copilot 将注释转换为代码、创建单元测试、创建 SQL 查询等。

先决条件

GitHub Copilot 支持多种编程语言和框架,包括 C#、C++ 和 Python。

如何获取 GitHub Copilot for Visual Studio

使用 Visual Studio 2022 版本 17.10 或更高版本, 统一的 GitHub Copilot 扩展 可作为 Visual Studio 安装程序中的推荐组件提供。 默认情况下,它随所有工作负荷一起安装,除非你选择在安装期间排除它。

将 GitHub Copilot 用于代码补全和建议

在编辑器中键入代码或注释时,GitHub Copilot 会提供上下文感知的代码补全和建议。 GitHub Copilot 为多种语言提供了建议,但它特别适用于 Python、JavaScript、TypeScript、Ruby、Go、C# 和C++。 以下示例采用 C# ,但其他语言的工作方式类似。

  1. 打开 Visual Studio 并创建一个新的 C# 项目。

  2. 在代码编辑器中打开 C# 文件 (Program.cs)。

  3. 在编辑器中,输入注释或方法签名以查看 GitHub Copilot 中的内联代码建议。

        // method to add two numbers
    
        int subtractNumbers(
    
  4. 将鼠标悬停在建议上,可以看到 GitHub Copilot 命令面板。

    若要接受建议,请选择 Tab 键。 若要拒绝建议,请继续键入。

    在 Visual Studio 中显示用于接受或修改 GitHub Copilot 代码建议的选项的屏幕截图。

    如果未显示命令面板,则可能已达到其显示的默认限制。 若要更改此限制,请转到 “工具>选项>IntelliCode>高级”,并调整 “最小提交”的值以取消提示文本

  5. 添加以下代码以查看 GitHub Copilot 的完成:

        int a = 5;
        int b = 10;
        int sum
    

    在 Visual Studio 中展示 GitHub Copilot 补全功能的动画屏幕截图。

提示和技巧

下面是与完成相关的键盘快捷方式:

  • 手动触发完成:Alt+.Alt+,
  • 循环浏览可用补全项:Alt.(下一项)和 Alt,(上一项)
  • 逐字接受完成字:按 Ctrl+向右箭头键
  • 逐行部分接受完成:Ctrl+向下箭头

使用设置自定义完成体验:

  • 如果自动完成出现得过快并中断您的键入,您可以在 工具>选项 窗格中调整显示时间。 展开“ 所有设置>文本编辑器>代码完成>首选项 ”部分,然后在 键入复选框中暂停后选择“显示代码完成 ”。 此设置会添加一个取消启动延迟,因此在快速键入时完成不会闪烁和消失。

  • 默认情况下,每次敲击键盘都会自动触发代码补全功能。 可以在 “工具>选项 ”窗格中禁用自动完成。 展开 “所有设置>文本编辑器>代码完成>常规 ”部分,并将 “代码完成调用 ”选项设置为 “手动”。 进行此调整后,可以使用 Alt+键盘快捷方式手动触发完成。

  • 如果觉得完成速度过快并中断键入,则可以在 “工具>选项 ”对话框中调整显示时间。 展开IntelliCode>高级部分,然后选择“暂停键入后再显示整行完成”复选框。 此设置会添加一个取消启动延迟,因此在快速键入时完成不会闪烁和消失。

  • 默认情况下,每个击键都会自动触发完成。 可以在 “工具>选项 ”对话框中禁用自动完成。 展开 IntelliCode>“常规 ”部分,清除 “编辑器”复选框中的“自动生成代码完成 ”。 进行此调整后,可以使用 Alt+键盘快捷方式手动触发完成。

内容排除

借助 Visual Studio 2022 版本 17.11,内容排除可用于 GitHub Copilot 补全。 完成和建议功能对管理员排除的内容不可用。 若要了解详细信息,请参阅 从 GitHub Copilot 中排除内容

代码引用

通过 Visual Studio 2022 版本 17.13,代码引用可用于 GitHub Copilot 完成。 如果你或你的组织启用了与公共代码匹配的建议,Copilot 会在你接受与公共 GitHub 存储库中的代码匹配的代码补全时通知你。

显示包含 GitHub Copilot 补全代码引用的 Visual Studio 屏幕截图。 :::

若要在 “输出 ”窗口中查看 GitHub Copilot 日志中的详细信息,请选择“ 查看代码匹配项”。 日志条目包含指向 GitHub.com 页的链接,可在其中查看有关许可证类型的详细信息。 它还包括对公共 GitHub 存储库中类似代码的引用。

显示输出窗口中代码引用的日志条目的屏幕截图。

通过代码引用,你可以做出有关使用代码归属或从项目中删除代码的明智决定。

完成模型

用于代码完成的 GPT-4o Copilot 模型适用于 Visual Studio 版本 17.14 预览版 2 或更高版本中的 GitHub Copilot。

若要尝试新模型,以获取更好的建议和性能:

  1. “工具>选项”窗格中,展开“所有设置>>>”部分。

  2. Copilot 完成模型 选项设置为 GPT-4o Copilot

    如果未列出 GPT-4o 模型,请尝试重启 Visual Studio 以检索最新的模型列表。

    显示如何选择 Copilot 自动完成模型的屏幕截图。

  1. “工具>选项 ”对话框中,展开 “GitHub>Copilot ”部分。

  2. Copilot 完成 组中,将 Copilot 完成模型 选项设置为 GPT-4o Copilot

    如果在下拉列表中看不到 GPT-4o 模型,请尝试重启 Visual Studio 以检索最新的模型列表。

    显示用于选择完成模型的下拉列表的屏幕截图。

  3. 选择“确定”

还可以从编辑器右上角的 Copilot 徽章访问设置>选项

访问

  • 如果你是 Copilot Pro 用户,则新模型适用于 17.14 预览版 2 及更高版本。
  • 如果你是 Copilot Business 或 Enterprise 用户,则管理员需要通过在 GitHub.com 上的 Copilot 策略设置中选择加入 编辑器预览功能 来为组织启用此模型。
  • 如果你是 Copilot Free 用户,使用此模型将计入每月 2,000 个免费完成。

生成文档注释

若要对C++或 C# 项目文件使用自动生成文档注释,请根据配置键入注释模式(例如)。 /// Copilot 会根据函数的内容立即完成函数说明。

显示 Copilot 自动生成文档注释的动画屏幕截图。

浏览 GitHub Copilot

若要查看 GitHub Copilot 的实际操作,请查看以下视频教程。

视频长度为 1 分 19 秒。

若要详细了解适用于 Visual Studio 的 GitHub Copilot 扩展,请考虑浏览以下资源: