在 VS Code 中使用 GitHub Copilot 提供的内联建议
GitHub Copilot 作为一个由 AI 提供支持的编程伙伴,在你编写代码时自动提供内联建议来完成你的代码、注释、测试等。它会在你编写代码时直接在编辑器中提供这些建议,并且可以与广泛的编程语言和框架一起使用。
您可能会体验到两种类型的 Copilot 内联建议,这些建议都符合您的编码风格并考虑您现有的代码:
-
幽灵文本建议 - 在编辑器中开始输入,Copilot 会在你当前光标位置提供暗淡的 幽灵文本 建议。
-
下一个编辑建议 - 使用 Copilot 下一个编辑建议来预测你的下一个代码编辑。基于你正在进行的编辑,NES 既预测你下一个想要编辑的位置,也预测该编辑的内容。
入门指南
-
安装 GitHub Copilot 扩展。
-
使用您的 GitHub 账户登录以使用 Copilot。
小贴士如果你还没有 Copilot 订阅,你可以通过注册 Copilot 免费计划 来免费使用 Copilot,并获得每月有限的内联建议和聊天互动。
-
通过我们的Copilot Quickstart,在 VS Code 中发现 Copilot 的主要功能。
获取您的第一条建议
Copilot 会以暗淡的幽灵文本形式在你输入时提供建议:有时是当前行的完成,有时是一个全新的代码块。你可以接受全部或部分建议,或者你可以继续输入并忽略这些建议。
注意以下示例中 Copilot 如何建议实现计算日期之间的天数 通过使用变暗的JavaScript函数 幽灵文本:

当你收到一个内联建议时,你可以用Tab键接受它。
Copilot 尝试应用你已经在代码中使用的相同编码风格。在下面的示例中,注意 Copilot 从添加建议的方法减去方法。

部分接受建议
你可能不希望接受 GitHub Copilot 的整个建议。你可以使用 ⌘→ (Windows, Linux Ctrl+Right) 键盘快捷键来接受建议中的下一个单词或下一行。
替代建议
对于任何给定的输入, Copilot 可能会提供多个替代建议。您可以将鼠标悬停在任何其他建议上。

从代码注释中生成建议
与其依赖 Copilot 提供建议,您可以通过使用代码注释来提供您期望的代码提示。例如,您可以指定要使用的算法类型或概念(例如,“使用递归”或“使用单例模式”),或者要添加到类中的方法和属性。
以下示例展示了如何指示 Copilot 在 TypeScript 中创建一个表示学生的类,并提供有关方法和属性的信息:

下一个编辑建议
Ghost文本建议在自动完成代码片段方面非常出色。但由于大多数编码活动是编辑现有代码,因此内联建议帮助编辑代码的自然演变,无论是在光标处还是更远的地方。编辑通常不是孤立进行的——在不同情况下,编辑需要有一个逻辑流程。下一个编辑建议(Copilot NES)就是这种演变。
基于您所做的编辑,下一个编辑建议既预测您下次想要编辑的位置,也预测该编辑的内容。Copilot NES 帮助您保持流程,建议与您当前工作相关的未来更改,您可以简单地按Tab键快速导航并接受 Copilot 的建议。建议可能涉及单个符号、整行或多行,具体取决于潜在更改的范围。
要开始使用 Copilot NES,请启用 VS Code 设置
导航并接受编辑建议
你可以使用Tab键快速导航到建议的代码更改,节省你查找下一个相关编辑的时间(无需手动搜索文件或参考文献)。然后你可以再次使用Tab键接受一个建议。
在 gutter 中的箭头表示是否有可用的编辑建议。箭头指示下一个编辑建议相对于您当前光标位置的位置。
您可以将鼠标悬停在箭头上以探索编辑建议菜单,其中包括键盘快捷键和设置配置:

如果您是VS Code vim扩展用户,请使用扩展的最新版本,以避免与NES在按键绑定上的任何冲突。
通过编辑建议减少干扰
默认情况下,编辑建议由 gutter 箭头指示,代码更改显示在编辑器中。启用
下一个编辑建议的使用案例
捕捉和更正错误
-
Copilot 帮助处理简单的错误,例如拼写错误。 它会建议修复缺失或互换的字母,例如
cont x = 5或定义 x = 5,这本应该是常量 x 等于 5输入:.
-
Copilot 也可以帮助处理更具挑战性的逻辑错误,例如倒置的三元表达式:

或者一个本该使用的比较
&&而不是输入:||输入:
改变意图
-
Copilot 建议更改其余代码,以符合新的意图变化。 例如,当将类从
点至点3DCopilot将建议添加一个输入的文本为空,没有可翻译的内容。将变量添加到类定义中。接受更改后,Copilot NES 接下来建议添加输入的文本为空,没有可翻译的内容。到距离计算:
重构
-
在文件中重命名一个变量, Copilot 会建议在其他地方更新它。 如果你使用新的名称或命名模式, Copilot 建议类似地更新后续代码。

-
匹配代码风格。在复制粘贴一些代码后, Copilot 将建议如何调整以匹配粘贴发生处的当前代码。
启用或禁用内联建议
您可以为所有语言或特定语言启用或禁用内联建议。要启用或禁用内联建议,请在状态栏中选择 Copilot 菜单,然后勾选或取消勾选启用或禁用内联建议的选项。禁用特定语言的内联建议的选项取决于当前活动编辑器的语言。

或者,修改
输入:*至真或假的输入:.
要暂时禁用编辑器中的所有内联建议,请在状态栏中选择 Copilot 菜单,然后选择 暂定 按钮,将暂定期增加五分钟。要恢复内联建议,请在 Copilot 菜单中选择 取消暂定 按钮。
或者,使用 延迟内置建议 和 取消延迟内置建议 命令在命令面板中。
更改AI模型以获取建议
不同的大型语言模型(LLMs)是在不同类型的数据显示训练的,可能具有不同的能力和优势。了解更多关于如何在VS Code中选择不同的AI语言模型。
要更改用于在编辑器中生成幽灵文本建议的语言模型:
-
打开命令面板 (F1)。
-
输入更改补全模型 并选择 GitHub Copilot: 更改补全模型 命令。
-
在下拉菜单中,选择您要使用的模型。
可用模型的列表可能会有所变化并随时间更新。模型选择器可能不会总是显示多个模型,并且在我们发布它们时,预览模型和附加的内联建议模型将在那里可用。如果您是Copilot Business或Enterprise用户,您的管理员需要通过选择来为您的组织启用某些模型。编辑预览功能 在 GitHub.com 上的 Copilot 政策设置。
小贴士和技巧
上下文
为了给您提供相关的内联建议,Copilot 会查看您编辑器中的当前和打开的文件,以分析上下文并创建适当的建议。在使用 Copilot 时,如果在 VS Code 中打开相关文件,有助于设置此上下文并让 Copilot 更好地了解您的项目全貌。
设置
幽灵文本建议设置
-
github.copilot.启用- 为所有或特定语言启用或禁用内联完成。
-
编辑器内联建议字体家族- 配置内联完成的字体。
-
编辑器内联建议显示工具栏- 启用或禁用用于内联完成的工具栏。
-
编辑器.内联建议.语法高亮启用- 启用或禁用内联完成的语法高亮。
下一个编辑建议设置
-
github.copilot.nextEditSuggestions.enabled- 启用 Copilot 下一个编辑建议 (Copilot NES)。
-
编辑器.内联建议.编辑.允许代码移位- 配置 Copilot NES 能否移动你的代码以显示建议。
-
编辑器.内联建议.编辑.并排显示- 配置 Copilot NES 是显示更大的建议并排显示(如果可能),还是 Copilot NES 始终显示在相关代码下方的更大建议。
- 自动(默认):如果视口中空间足够,则显示更大的编辑建议并排,否则建议显示在相关代码的下方。
- 从不:从不并排显示建议,始终在相关代码下方显示建议。
-
github.copilot.nextEditSuggestions.fixes- 基于诊断(波浪线)启用下一步编辑建议。例如,缺少的导入。
-
编辑器内联建议的最小显示延迟- 显示内联建议前等待的毫秒时间。默认是
0输入:.
下一步
-
发现主要功能在快速入门中。
-
使用AI聊天对话 在VS Code中聊天.
-
观看我们VS Code Copilot系列的视频,这些视频在YouTube上。