现已发布!了解来自 11 月的新功能和修复。

VS Code 中的 GitHub Copilot

GitHub Copilot 扩展是一个 AI 配对编程工具,可帮助您更快、更智能地编写代码。您可以在 Visual Studio Code 中使用 Copilot 扩展来生成代码、从其生成的代码中学习,甚至配置您的编辑器。

GitHub Copilot 可以在各种场景中提供帮助。

VS Code 中的 Copilot

在 VS Code 中选择最适合您用例的 GitHub Copilot 界面

  • 代码补全。开始在编辑器中键入,从 Copilot 获取代码建议。

  • 内联聊天。使用聊天对话直接在编辑器中应用代码编辑。

  • 聊天视图。进行持续的聊天对话,以询问有关您的代码的问题,并迭代编码想法和概念。

  • Copilot 编辑视图。开始一个多文件编辑会话,以便直接将重大更改应用于您的项目。

  • 贯穿整个用户界面。访问 VS Code 中特定用途的 Copilot 功能,以生成提交消息、获取重命名建议等等。

入门

  1. 安装 GitHub Copilot 扩展。这也会安装 GitHub Copilot Chat 扩展。

    安装 GitHub Copilot 扩展

  2. 按照Copilot 安装指南中的步骤在 VS Code 中配置 GitHub Copilot。

    提示

    如果您还没有 GitHub Copilot 订阅,请在您的个人帐户中注册 GitHub Copilot 免费试用

  3. 通过这些实践教程了解如何在 VS Code 中使用 GitHub Copilot。

键盘快捷键

使用以下键盘快捷键开始与 Copilot 的聊天对话

快捷方式 描述
⌃⌘I (Windows, Linux Ctrl+Alt+I) 打开聊天视图并使用自然语言开始与 Copilot 的聊天对话。
⇧⌘I (Windows Ctrl+Shift+I, Linux Ctrl+Shift+Alt+I) 打开 Copilot 编辑视图并开始跨多个文件的代码编辑会话。
⇧⌥⌘L (Windows, Linux Ctrl+Shift+Alt+L) 打开快速聊天并向 Copilot 提出快速问题。
⌘I (Windows, Linux Ctrl+I) 启动内联聊天,直接从编辑器向 Copilot 发送聊天请求。使用自然语言或使用 / 命令向 Copilot 发出指令。

查看我们的Copilot 速查表,了解主要 Copilot 命令和快捷方式的概述。

在 VS Code 中使用 GitHub Copilot 的用例

编辑器中的代码补全

  • Copilot 在您键入时建议代码。Copilot 会分析您正在编辑的文件和相关文件中的上下文,并在编辑器中提供建议。例如,开始键入方法名称,Copilot 会按照您的编码风格建议实现。

    Inline chat suggests the implementation of a 'CalculateDaysBetweenDates' JavaScript function

跨多个文件迭代重大更改

  • 启动 AI 驱动的代码编辑会话Copilot 编辑将 Copilot Chat 的会话流程和内联聊天的快速反馈结合在一起。在侧面进行持续的、多轮的聊天对话,同时受益于内联代码建议。

    Screenshot showing the Copilot Edits response for "Add a feedback field in the contact page" and showing the diff in the editor.

回答编码问题

  • 为常见的编码任务和挑战提供指导和支持。询问 Copilot 有关语法或一般编程概念的问题,而无需导航文档或搜索在线论坛。Copilot 以自然语言格式或代码片段格式给出响应。例如,您可以提出诸如“什么是递归?”或“如何在 Java 中创建单例?”之类的问题。

    Copilot Chat answering what a singleton is

  • 通过解释选定的代码来提高代码理解能力。Copilot 生成代码的功能和目的的自然语言描述。如果您想了解代码的行为,或者对于需要了解代码工作原理的非技术利益干系人来说,这可能会很有用。

    Inline chat explaining which sorting algorithm is used in the selected text

  • 提供特定于您的代码库的指导。Copilot 具有您的工作区的上下文,可以提供针对您的项目量身定制的逐步指导和代码示例。例如,“如何添加联系人页面?”或“如何从数据库中读取客户数据?”。

    Copilot Chat provides step-by-step guidance about adding a page to an Express app

代码重构和改进

  • 为实现代码重构提供建议。Copilot 使用您的代码库的上下文建议重构。例如,要求 Copilot 重构一个不使用递归的函数,或者建议一种可以提高性能的算法。

    Inline Chat refactoring to use different sorting algorithm

  • 建议对选定代码进行潜在改进,例如改进错误和边缘情况的处理,或更改逻辑流程以使代码更具可读性。

    Copilot Inline Chat suggesting improvements to error handling

修复问题

  • 通过 /fix 命令为代码中的错误提出修复建议,通过基于错误或问题的上下文建议代码片段和解决方案。例如,如果您的代码产生错误消息或警告,Copilot Chat 可以根据错误消息、代码的语法和周围的代码建议可能的修复。这些更改可能包括对变量、控制结构或可以解决问题的功能调用的更改。

    Inline Chat /fix for an error proposing to install a missing library

  • 为失败的测试提出修复建议(预览)。当您为代码运行自动化测试时,Copilot 可以使用 /fixTestFailure 命令为失败的测试建议代码修复。

    Copilot Chat /fixTestFailure for identifying and suggesting a fix for a failing test

  • 建议终端命令修复。当命令在终端中运行失败时,Copilot 会在装订线中显示一个闪烁的图标,提供快速修复来解释发生了什么。

    Quick Chat with @terminal #terminalLastCommand and Copilot's answer

快速启动您的项目

  • 使用 /new 为您选择的技术生成一个新的 VS Code 工作区,从而快速开始新项目。选择您的技术栈,预览工作区文件,让 Copilot 为您搭建整个工作区。

    Asking the @workspace agent to scaffold a new Node.js project using TypeScript

  • 通过自然语言搭建新的 Jupyter 笔记本。使用 /newNotebook 基于描述生成一个预配置的新笔记本。例如,要搭建一个加载、检查和可视化示例数据集的新笔记本,请使用 “@workspace /newNotebook download titanic dataset and display key information using MatPlotLib” 来提示 Copilot。

    Asking the @workspace agent to scaffold a new notebook that reads titanic data, and visualizes with MatPlotLib

生成单元测试用例

  • 基于您的代码库配置您的测试框架设置。例如,如果您有一个 JavaScript 和 TypeScript 项目,Copilot 将会建议合适的测试框架以及为您的工作区配置它们的步骤。

    Chat view showing the /setupTests slash command to set up a testing framework for JavaScript and TypeScript

  • 根据编辑器中打开的代码或您在编辑器中突出显示的代码片段,为您的测试框架编写单元测试用例。Copilot 会识别您的测试框架和编码风格,并生成匹配的代码片段。

    Chat view showing the /tests slash command to generate unit tests for the Divide method in a C# calculator class

  • 识别并编写针对边缘情况和边界条件的测试用例,这些情况可能难以手动识别。例如,Copilot 可以建议针对错误处理、空值或意外输入类型的测试用例。

  • 根据代码的上下文和语义,建议断言,以确保函数正常工作。例如,生成断言以确保函数输入参数有效。

生成代码文档

  • 为编辑器中打开的代码或您在编辑器中突出显示的代码片段生成多种语言的代码文档。使用 /doc 或 Copilot 智能操作来帮助您生成有意义的代码文档。

    Inline chat /doc example to generate documentation code comments for a calculator class

生产力改进

  • 基于提交中的代码更改或拉取请求中的更改,生成 AI 生成的提交消息和 PR 描述。使用源代码管理视图或 GitHub PR 扩展中的闪烁按钮来生成总结您更改的标题和描述。

    Hover over Source Control input box sparkle buttons shows Generate Commit Message

  • 在命令面板中寻求帮助,以帮助您在 VS Code 中找到相关命令。您可以描述功能,Copilot 可以帮助识别匹配的功能。例如,在命令面板中键入 “代码预览在滚动条中”,Copilot 可以识别出您指的是 editor.minimap 设置。

    Chat view with answer to "hide editor overview"

  • AI 生成的源代码符号重命名建议。当您重命名代码中的符号时,Copilot 会根据符号的上下文和代码库建议新名称。

    Inline chat suggesting a new name for a symbol in a Python file

  • 语义搜索结果(预览)。搜索视图除了列出您文件中精确的文本匹配项之外,还会列出基于您的搜索文本在语义上相关的匹配项。

    Search view showing semantic search results that are not an exact match for the search criteria.

  • 使用终端内联聊天来询问关于终端或如何使用特定 shell 命令的问题。例如,您可以提出诸如 “列出 src 目录中最大的 5 个文件” 或 “如何启用 shell 集成” 之类的问题。

    Screenshot showing that you can ask complex questions like "list the top 5 largest files in the src dir"

下一步

其他资源

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

或者在 YouTube 上查看 VS Code Copilot 系列,您可以在其中找到更多入门内容和针对编程的视频,了解如何将 Copilot 与 PythonC#JavaPowerShellC++ 等一起使用。