本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

在 VS Code 中使用 GitHub Copilot 提供的内联建议

GitHub Copilot 作为一个由 AI 提供支持的编程伙伴,在你编写代码时自动提供内联建议来完成你的代码、注释、测试等。它会在你编写代码时直接在编辑器中提供这些建议,并且可以与广泛的编程语言和框架一起使用。

您可能会体验到两种类型的 Copilot 内联建议,这些建议都符合您的编码风格并考虑您现有的代码:

  • 幽灵文本建议 - 在编辑器中开始输入,Copilot 会在你当前光标位置提供暗淡的 幽灵文本 建议。

  • 下一个编辑建议 - 使用 Copilot 下一个编辑建议来预测你的下一个代码编辑。基于你正在进行的编辑,NES 既预测你下一个想要编辑的位置,也预测该编辑的内容。

入门指南

  1. 安装 GitHub Copilot 扩展。

    安装 GitHub Copilot 扩展

  2. 使用您的 GitHub 账户登录以使用 Copilot。

    小贴士

    如果你还没有 Copilot 订阅,你可以通过注册 Copilot 免费计划 来免费使用 Copilot,并获得每月有限的内联建议和聊天互动。

  3. 通过我们的Copilot Quickstart,在 VS Code 中发现 Copilot 的主要功能。

获取您的第一条建议

Copilot 会以暗淡的幽灵文本形式在你输入时提供建议:有时是当前行的完成,有时是一个全新的代码块。你可以接受全部或部分建议,或者你可以继续输入并忽略这些建议。

注意以下示例中 Copilot 如何建议实现计算日期之间的天数 通过使用变暗的JavaScript函数 幽灵文本:

JavaScript幽灵文本建议。

当你收到一个内联建议时,你可以用Tab键接受它。

Copilot 尝试应用你已经在代码中使用的相同编码风格。在下面的示例中,注意 Copilot 从添加建议的方法减去方法。

JavaScript幽灵文本建议。

部分接受建议

你可能不希望接受 GitHub Copilot 的整个建议。你可以使用 ⌘→ (Windows, Linux Ctrl+Right) 键盘快捷键来接受建议中的下一个单词或下一行。

替代建议

对于任何给定的输入, Copilot 可能会提供多个替代建议。您可以将鼠标悬停在任何其他建议上。

将鼠标悬停在内联建议上,可以让你从多个建议中进行选择

从代码注释中生成建议

与其依赖 Copilot 提供建议,您可以通过使用代码注释来提供您期望的代码提示。例如,您可以指定要使用的算法类型或概念(例如,“使用递归”或“使用单例模式”),或者要添加到类中的方法和属性。

以下示例展示了如何指示 Copilot 在 TypeScript 中创建一个表示学生的类,并提供有关方法和属性的信息:

使用代码注释让 Copilot 生成一个带有属性和方法的 Student 类的 TypeScript 代码。

下一个编辑建议

Ghost文本建议在自动完成代码片段方面非常出色。但由于大多数编码活动是编辑现有代码,因此内联建议帮助编辑代码的自然演变,无论是在光标处还是更远的地方。编辑通常不是孤立进行的——在不同情况下,编辑需要有一个逻辑流程。下一个编辑建议(Copilot NES)就是这种演变。

基于您所做的编辑,下一个编辑建议既预测您下次想要编辑的位置,也预测该编辑的内容。Copilot NES 帮助您保持流程,建议与您当前工作相关的未来更改,您可以简单地按Tab键快速导航并接受 Copilot 的建议。建议可能涉及单个符号、整行或多行,具体取决于潜在更改的范围。

要开始使用 Copilot NES,请启用 VS Code 设置

github.copilot.nextEditSuggestions.enabled
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
输入:.

导航并接受编辑建议

你可以使用Tab键快速导航到建议的代码更改,节省你查找下一个相关编辑的时间(无需手动搜索文件或参考文献)。然后你可以再次使用Tab键接受一个建议。

在 gutter 中的箭头表示是否有可用的编辑建议。箭头指示下一个编辑建议相对于您当前光标位置的位置。

您可以将鼠标悬停在箭头上以探索编辑建议菜单,其中包括键盘快捷键和设置配置:

Copilot NES 排水沟菜单展开

重要

如果您是VS Code vim扩展用户,请使用扩展的最新版本,以避免与NES在按键绑定上的任何冲突。

通过编辑建议减少干扰

默认情况下,编辑建议由 gutter 箭头指示,代码更改显示在编辑器中。启用

编辑器.内联建议.编辑.显示折叠
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置仅在您按 Tab 键导航到建议或悬停在 gutter 箭头上之前,在编辑器中显示代码更改。或者,悬停在 gutter 箭头上并从菜单中选择 显示折叠 选项。

下一个编辑建议的使用案例

捕捉和更正错误

  • Copilot 帮助处理简单的错误,例如拼写错误。 它会建议修复缺失或互换的字母,例如 cont x = 5定义 x = 5,这本应该是常量 x 等于 5输入:.

    NES 修正了一个拼写错误,将 "conts" 改为 "const"

  • Copilot 也可以帮助处理更具挑战性的逻辑错误,例如倒置的三元表达式:

    NES 修正了一个三值逻辑错误

    或者一个本该使用的比较&&而不是输入:||输入:

    NES 修复了一个 if 语句的错误

改变意图

  • Copilot 建议更改其余代码,以符合新的意图变化。 例如,当将类从 点3DCopilot将建议添加一个输入的文本为空,没有可翻译的内容。将变量添加到类定义中。接受更改后,Copilot NES 接下来建议添加输入的文本为空,没有可翻译的内容。到距离计算:

    NES gif 更新点对点3D

重构

  • 在文件中重命名一个变量, Copilot 会建议在其他地方更新它。 如果你使用新的名称或命名模式, Copilot 建议类似地更新后续代码。

     Copilot NES 更新函数名称后建议更改

  • 匹配代码风格。在复制粘贴一些代码后, Copilot 将建议如何调整以匹配粘贴发生处的当前代码。

启用或禁用内联建议

您可以为所有语言或特定语言启用或禁用内联建议。要启用或禁用内联建议,请在状态栏中选择 Copilot 菜单,然后勾选或取消勾选启用或禁用内联建议的选项。禁用特定语言的内联建议的选项取决于当前活动编辑器的语言。

状态栏中的Copilot菜单的截图,带有“稍后提醒”和“取消稍后提醒”按钮。

或者,修改

github.copilot.启用
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
在设置编辑器中进行设置。为每个您希望启用或禁用内联建议的语言添加一条条目。要启用或禁用所有语言的内联建议,请设置该值输入:*假的输入:.

要暂时禁用编辑器中的所有内联建议,请在状态栏中选择 Copilot 菜单,然后选择 暂定 按钮,将暂定期增加五分钟。要恢复内联建议,请在 Copilot 菜单中选择 取消暂定 按钮。

或者,使用 延迟内置建议取消延迟内置建议 命令在命令面板中。

更改AI模型以获取建议

不同的大型语言模型(LLMs)是在不同类型的数据显示训练的,可能具有不同的能力和优势。了解更多关于如何在VS Code中选择不同的AI语言模型

要更改用于在编辑器中生成幽灵文本建议的语言模型:

  1. 打开命令面板 (F1)。

  2. 输入更改补全模型 并选择 GitHub Copilot: 更改补全模型 命令。

  3. 在下拉菜单中,选择您要使用的模型。

注意

可用模型的列表可能会有所变化并随时间更新。模型选择器可能不会总是显示多个模型,并且在我们发布它们时,预览模型和附加的内联建议模型将在那里可用。如果您是Copilot Business或Enterprise用户,您的管理员需要通过选择来为您的组织启用某些模型。编辑预览功能GitHub.com 上的 Copilot 政策设置

小贴士和技巧

上下文

为了给您提供相关的内联建议,Copilot 会查看您编辑器中的当前和打开的文件,以分析上下文并创建适当的建议。在使用 Copilot 时,如果在 VS Code 中打开相关文件,有助于设置此上下文并让 Copilot 更好地了解您的项目全貌。

设置

幽灵文本建议设置

  • github.copilot.启用
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    - 为所有或特定语言启用或禁用内联完成。

  • 编辑器内联建议字体家族
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    - 配置内联完成的字体。

  • 编辑器内联建议显示工具栏
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    - 启用或禁用用于内联完成的工具栏。

  • 编辑器.内联建议.语法高亮启用
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    - 启用或禁用内联完成的语法高亮。

下一个编辑建议设置

  • github.copilot.nextEditSuggestions.enabled
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    - 启用 Copilot 下一个编辑建议 (Copilot NES)。

  • 编辑器.内联建议.编辑.允许代码移位
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    - 配置 Copilot NES 能否移动你的代码以显示建议。

  • 编辑器.内联建议.编辑.并排显示
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    - 配置 Copilot NES 是显示更大的建议并排显示(如果可能),还是 Copilot NES 始终显示在相关代码下方的更大建议。

    • 自动(默认):如果视口中空间足够,则显示更大的编辑建议并排,否则建议显示在相关代码的下方。
    • 从不:从不并排显示建议,始终在相关代码下方显示建议。
  • github.copilot.nextEditSuggestions.fixes
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    - 基于诊断(波浪线)启用下一步编辑建议。例如,缺少的导入。

  • 编辑器内联建议的最小显示延迟
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    - 显示内联建议前等待的毫秒时间。默认是0输入:.

下一步