VS Code 中 GitHub Copilot 的内联建议
VS Code 中的 GitHub Copilot 提供 AI 驱动的内联建议,可在您键入时补全代码、注释、测试等内容。内联建议适用于广泛的编程语言和框架。它们是 VS Code 中多种 AI 交互方式之一,此外还包括用于自主多文件任务的智能体、聊天以及智能操作。
您可能会体验到两种来自 Copilot 的内联建议,它们都与您的编码风格相匹配,并会考虑您现有的代码:
-
幽灵文本建议 (Ghost text suggestions):在编辑器中开始键入,Copilot 会在当前光标位置提供灰色的幽灵文本建议。
-
下一次编辑建议 (Next edit suggestions):使用 Copilot 下一次编辑建议(又称 Copilot NES)预测您的下一次代码编辑。基于您正在进行的编辑,NES 不仅会预测您接下来想要进行编辑的位置,还会预测具体的编辑内容。
先决条件
- 您的机器上已安装 Visual Studio Code。请按照以下步骤设置 VS Code。
- 拥有 GitHub Copilot 订阅。请按照以下步骤设置 GitHub Copilot。您可以设置 Copilot Free 以获得每月的内联建议额度和 AI 点数。
幽灵文本建议
获取您的首个建议
Copilot 会在您键入时提供灰色的幽灵文本建议:有时是当前行的补全,有时是全新的代码块。
-
打开您选择的一种编程语言文件并开始键入。您应该能在键入时看到来自 Copilot 的内联建议。
以下示例展示了 Copilot 如何通过灰色的幽灵文本建议
calculateDaysBetweenDatesJavaScript 函数的实现:
-
按 Tab 键接受建议。
若要部分接受建议,请使用 ⌘→ (Windows, Linux Ctrl+Right) 键盘快捷键来接受建议的下一个单词或下一行。
替代建议
对于任何给定的输入,Copilot 可能会提供多个替代建议。您可以将鼠标悬停在建议上以查看其他建议。

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

下一个编辑建议
幽灵文本建议非常适合自动补全某段代码。但由于大部分编码活动都是在编辑现有代码,因此内联建议向光标处及远处的编辑提供帮助是一种自然演进。“下一次编辑建议”(Copilot NES)便是这一演进。编辑通常不是孤立进行的——在不同场景下,需要进行的编辑往往存在逻辑流。Copilot NES 实现了这一点。
基于您正在进行的编辑,下一次编辑建议会预测您接下来想要编辑的位置以及具体内容。Copilot NES 帮助您保持工作流,建议与您当前工作相关的未来更改,您可以按 Tab 键快速导航并接受 Copilot 的建议。根据潜在更改的范围,建议可能跨越单个符号、整行或多行。
要开始使用 Copilot NES,请启用 VS Code 设置 github.copilot.nextEditSuggestions.enabled 此设置由组织级别管理。请联系您的管理员进行更改。。
导航并接受编辑建议
您可以使用 Tab 键快速导航至建议的代码更改,从而节省查找下一个相关编辑的时间(无需在文件中手动搜索或查找引用)。然后,您可以再次按 Tab 键接受建议。
侧边栏(gutter)中的箭头指示是否有可用的编辑建议。箭头指示相对于当前光标位置的下一个编辑建议所在的位置。
您可以将鼠标悬停在箭头上以探索编辑建议菜单,其中包含键盘快捷键和设置配置。

如果您是 VS Code vim 扩展用户,请使用最新版本的扩展,以避免与 NES 在按键绑定上产生任何冲突。
减少编辑建议带来的干扰
默认情况下,编辑建议由侧边栏箭头指示,代码更改会在编辑器中显示。启用 editor.inlineSuggest.edits.showCollapsed 设置,即可让代码更改仅在您按 Tab 键导航至建议或将鼠标悬停在箭头上方时才显示。或者,您可以悬停在箭头上方并从菜单中选择“显示折叠 (Show Collapsed)”选项。
下一次编辑建议的使用场景
捕获并纠正错误
-
Copilot 可帮助纠正简单的错误(如拼写错误)。 它会针对缺失或颠倒的字母建议修复,例如将
cont x = 5或conts x = 5修复为const x = 5。
-
Copilot 还可以帮助处理更具挑战性的逻辑错误,例如反转的三元表达式。

或本应使用
&&却使用了||的比较逻辑。
更改意图
-
Copilot 会建议与新的意图更改相匹配的代码修改。 例如,将类从
Point更改为Point3D时,Copilot 会建议在类定义中添加z变量。接受更改后,Copilot NES 会进一步建议在距离计算中添加z。
重构
-
在文件中重命名一次变量,Copilot 会建议在其他地方同时更新它。 如果您使用新的名称或命名模式,Copilot 会建议以类似方式更新后续代码。

-
匹配代码风格。在复制并粘贴一段代码后,Copilot 会建议如何调整它以匹配粘贴位置的当前代码风格。
启用或禁用内联建议
您可以针对所有语言或仅特定语言启用/禁用内联建议。若要启用或禁用,请选择状态栏中的 Copilot 菜单,然后勾选或取消勾选相应选项。禁用特定语言的内联建议选项取决于当前活动编辑器的语言。

或者,在设置编辑器中修改 github.copilot.enable 设置。为每个要启用或禁用内联建议的语言添加条目。若要对所有语言设置,请将 * 的值设置为 true 或 false。
若要临时禁用编辑器中的所有内联建议,请选择状态栏中的 Copilot 菜单,然后选择“暂停 (Snooze)”按钮,以将暂停时间增加五分钟。若要恢复,请选择 Copilot 菜单中的“取消暂停 (Cancel Snooze)”。
或者,在命令面板中使用“暂停内联建议”和“取消暂停内联建议”命令。
更改建议所用的 AI 模型
不同的大语言模型 (LLM) 基于不同的数据类型进行训练,可能具有不同的能力和优势。详细了解如何在 VS Code 中选择不同的 AI 语言模型。
要更改编辑器中用于生成幽灵文本建议的语言模型:
-
打开命令面板 (F1)。
-
键入 change completions model 并选择 GitHub Copilot: Change Completions Model 命令。
-
在下拉菜单中,选择您想要使用的模型。
可用模型列表可能会随时间变化。模型选择器并不总会显示多个模型。如果/当我们发布预览模型或额外的内联建议模型时,它们将在其中提供。如果您是 Copilot Business 或 Enterprise 用户,您的管理员需要在 GitHub.com 的 Copilot 策略设置中选择启用 Editor Preview Features,以使您的组织能够使用某些模型。
技巧与窍门
上下文
为了提供相关的内联建议,Copilot 会查看编辑器中当前打开的文件,分析上下文并创建适当的建议。在使用 Copilot 时,在 VS Code 中保持相关文件处于打开状态有助于设定此上下文,让 Copilot 对您的项目有更全面的了解。
设置
幽灵文本建议设置
-
github.copilot.enable - 启用或禁用针对所有或特定语言的内联补全。
-
editor.inlineSuggest.fontFamily - 配置内联补全的字体。
-
editor.inlineSuggest.showToolbar - 启用或禁用内联补全出现的工具栏。
-
editor.inlineSuggest.syntaxHighlightingEnabled - 启用或禁用内联补全的语法高亮。
下一次编辑建议设置
-
github.copilot.nextEditSuggestions.enabled 此设置由组织级别管理。请联系您的管理员进行更改。 - 启用 Copilot 下一次编辑建议 (Copilot NES)。
-
editor.inlineSuggest.edits.allowCodeShifting - 配置 Copilot NES 是否可以移位您的代码以显示建议。
-
editor.inlineSuggest.edits.renderSideBySide - 配置 Copilot NES 是否尽可能并排显示较大的建议,或者是否始终在相关代码下方显示建议。
- auto (默认):如果视口中有足够空间,则并排显示较大的编辑建议,否则建议将显示在相关代码下方。
- never:从不并排显示建议,始终在相关代码下方显示建议。
-
github.copilot.nextEditSuggestions.fixes - 启用基于诊断(波浪线)的下一次编辑建议。例如:缺失的导入。
-
editor.inlineSuggest.minShowDelay - 显示内联建议前等待的时间(毫秒)。默认值为
0。
后续步骤
-
通过快速入门发现关键功能。
-
使用 VS Code 中的聊天进行 AI 对话。
-
在 YouTube 上观看我们的 VS Code Copilot 系列视频。