在VS Code中使用GitHub Copilot进行代码补全

GitHub Copilot 作为一个由AI驱动的结对编程助手,自动提供建议以完成你的代码、注释、测试等。它在你编写代码时直接在编辑器中提供这些建议,并且可以与广泛的编程语言和框架一起工作。

入门指南

  1. 安装GitHub Copilot扩展。

    安装 GitHub Copilot 扩展

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

    Tip

    如果您还没有Copilot订阅,您可以通过注册Copilot免费计划免费使用Copilot,并获得每月一定数量的完成和聊天互动限制。

  3. 通过我们的Copilot 快速入门,了解 VS Code 中 Copilot 的关键功能。

内联建议

Copilot 在您输入时提供代码建议:有时是当前行的补全,有时是整个新代码块。您可以接受全部或部分建议,或者继续输入并忽略这些建议。

注意在以下示例中,Copilot 如何使用暗淡的幽灵文本建议实现 calculateDaysBetweenDates JavaScript 函数:

JavaScript 幽灵文本建议。

当您看到内联建议时,可以使用Tab键接受它。

Copilot 尝试为代码建议应用与您代码中已有的相同的编码风格。请注意,在以下示例中,Copilot 为建议的 subtract 方法应用了与 add 方法相同的输入参数命名方案。

JavaScript 幽灵文本建议。

部分接受建议

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

替代建议

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

悬停在内联建议上使您能够从多个建议中选择

从代码注释生成建议

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

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

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

启用或禁用内联建议

您可以暂时启用或禁用所有语言的代码补全,或者仅针对特定语言。

  1. VS Code 状态栏中的 GitHub Copilot 状态图标指示 GitHub Copilot 是否已启用或禁用。

    截图显示VS Code状态栏,突出显示表示Copilot处于活动状态的Copilot图标。

  2. 要启用或禁用Copilot自动补全功能,首先在状态栏中选择GitHub Copilot图标。

  3. 如果您正在禁用GitHub Copilot,系统会询问您是要全局禁用建议,还是仅针对您当前编辑的文件的语言禁用建议。

    • To disable suggestions from GitHub Copilot globally, select Disable Globally.
    • To disable suggestions from GitHub Copilot for the specified language, select Disable for <language>.

    显示VS Code中Copilot命令菜单的截图,突出显示禁用自动补全的选项。

技巧与窍门

上下文

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

设置

  • editor.inlineSuggest.enabled - 启用或禁用内联补全。

  • editor.inlineSuggest.fontFamily - 配置内联补全的字体。

  • editor.inlineSuggest.showToolbar - 启用或禁用内联补全时出现的工具栏。

  • editor.inlineSuggest.syntaxHighlightingEnabled - 启用或禁用内联补全的语法高亮。

下一步

  • 从入门教程Copilot教程开始,在VS Code中设置Copilot并亲身体验Copilot。

  • 了解如何使用Copilot Chat进行AI聊天对话。

额外资源

你可以阅读更多关于Copilot以及如何在VS Code中使用它的信息,在GitHub Copilot文档中。

或者查看VS Code Copilot系列在YouTube上,您可以找到更多关于使用Copilot的入门内容和特定编程语言的视频,如PythonC#JavaPowerShellC++等。