🚀 在 VS Code 中免费获取

VS Code 中的 GitHub Copilot

GitHub Copilot 是您在 Visual Studio Code 中的 AI 结对编程工具。在您键入代码时获取代码建议,或在编辑器中使用内联聊天更快地编写代码。使用 Copilot 编辑在您的项目中添加新功能或解决错误,或在聊天中使用自然语言来探索您的代码库。

提示

如果您还没有 Copilot 订阅,您可以注册 Copilot 免费计划免费使用 Copilot,并获得每月的代码补全和聊天互动次数限制。

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

入门指南

  1. 从 VS Code 标题栏的 Copilot 菜单中选择“使用 Copilot 免费体验 AI 功能...

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

    提示

    如果您还没有 Copilot 订阅,您可以注册 Copilot 免费计划免费开始使用。按照安装指南中的步骤设置 Copilot 订阅。

  3. 通过我们的Copilot 快速入门了解 VS Code 中 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 的主要命令和快捷键概述。

GitHub Copilot 在 VS Code 中的用例

编辑器中的代码补全

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

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

  • 使用 Copilot 下一步编辑建议 (Copilot NES) (预览版) 预测您的下一个代码编辑。根据您正在进行的编辑,Copilot NES 既可以预测您想要进行的下一个编辑的位置,也可以预测该编辑应该是什么。使用 Tab 键快速导航并接受建议。了解如何开始使用 Copilot NES

    Copilot NES for adding z to distance calculation of Point3D

跨多个文件迭代大型更改

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

    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 聊天可以根据错误消息、代码的语法和周围的代码建议可能的修复方案。更改可能包括对变量、控制结构或函数调用的更改,这些更改可以解决问题。

    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 可以帮助识别匹配的功能。例如,在命令面板中键入“scrollbar 中的代码预览”,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++ 等一起使用。