参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

VS Code 中聊天功能入门

本教程将引导您如何在 Visual Studio Code 中使用聊天功能。您将使用由 AI 驱动的聊天对话来帮助重构代码、提高代码理解能力以及熟悉 VS Code 的配置。

如果您是 VS Code 中 Copilot 的新用户,请参阅Copilot 概述,或通过Copilot 快速入门进行设置并探索其主要功能。

提示

如果你还没有 Copilot 订阅,可以通过注册 Copilot 免费计划 免费使用 Copilot,并获得每月限量的补全和聊天交互次数。

先决条件

要在 VS Code 中使用 GitHub Copilot,您需要满足以下条件:

  • 拥有 GitHub Copilot 访问权限
  • VS Code 中已安装 GitHub Copilot 扩展

请按照GitHub Copilot 设置指南中的步骤获取 GitHub Copilot 访问权限并在 VS Code 中安装 Copilot 扩展。

开始您的第一次聊天对话

聊天功能允许您使用自然语言与 GitHub Copilot 互动,提出并接收与编码相关问题的答案。

在本教程中,您将创建一个简单的 Node.js Web 应用程序。

  1. 打开一个新的 VS Code 窗口。您将在后续步骤中创建一个新的工作区。

  2. 从标题栏的“聊天”菜单中选择打开聊天,或使用键盘快捷键 ⌃⌘I (Windows, Linux Ctrl+Alt+I)

    Screenshot of VS Code editor, showing the Copilot Chat view, highlighting the chat menu in the Command Center.

    请注意,聊天视图在辅助侧边栏中打开。将聊天视图放在侧边栏可以让您在编写代码时保持对话的进行。

  3. 在聊天视图中,从聊天模式下拉菜单中选择提问

    使用提问模式可以提出有关编码和技术主题的问题、解释代码或集思广益。

    Screenshot of VS Code Chat view, showing the Ask mode dropdown.

  4. 我们来问问流行的 Web 框架。在聊天输入字段中输入“最流行的 Web 框架有哪些?”。

    VS Code 返回一个流行 Web 框架列表。尝试提出后续问题以获取有关特定框架的更多信息,或比较框架。例如,您可以问“Express 和 Fastify 有什么区别?”或“如何进行服务器端渲染?”。

  5. 要搭建一个新的 Web 应用程序,请在聊天输入字段中输入“使用 TypeScript 和 Pug 创建新的 Express 应用程序”。

    请注意 VS Code 如何返回一个代表新工作区文件的文件树。选择文件树中的任何文件以预览其内容。

    Screenshot of Chat view, showing a file tree for a new workspace and a 'Create Workspace' button.

  6. 选择创建工作区以创建应用程序,并选择磁盘上的一个文件夹作为工作区的创建位置。

    在对话框中选择打开,以在 VS Code 中打开新创建的工作区。

    注意

    VS Code 可能会询问您是否信任新的工作区。选择是,我信任内容以信任工作区。获取有关工作区信任的更多详细信息。

通过行内聊天保持高效工作

虽然聊天视图非常适合保持对话,但编辑器行内聊天则针对您想要向 Copilot 提问您正在编辑器中积极处理的代码的情况进行了优化。例如,重构特定代码片段,或解释复杂算法。

我们来看看如何使用编辑器行内聊天进行代码重构。

  1. 打开app.ts文件,并使用键盘快捷键 ⌘I (Windows, Linux Ctrl+I) 调出行内聊天。或者,从标题栏的“聊天”菜单中选择打开行内聊天

    编辑器中会显示一个行内聊天输入字段,您可以在其中输入聊天提示并向 Copilot 提问编辑器中的代码。

    Screenshot of VS Code editor, highlighting the Inline Chat popup control.

  2. 在聊天输入字段中输入“添加 JSON 输出支持”并按 Enter

    请注意 Copilot 如何提供代码建议,以在 Express 中添加 JSON 输出支持。

    Screenshot of VS Code editor with the suggested code change.

  3. 选择接受关闭以应用或忽略更改。

    如果您对建议的代码更改不满意,可以选择重新运行请求控件或提出后续问题以获得其他建议。

提示

在编辑器中右键单击以访问常用的 AI 命令,例如修复或解释代码或生成测试。

跨多个文件进行编辑

使用行内聊天,您只能对单个文件进行更改。您还可以通过在聊天视图中切换到编辑模式,使用 Copilot 对工作区中的多个文件进行更改。

我们使用编辑模式来使用.env文件存储您的 Web 应用程序的配置。

  1. 打开聊天视图,从聊天模式下拉菜单中选择编辑

    Screenshot of VS Code Copilot Chat view, showing the Edit mode dropdown.

  2. 为了帮助 Copilot 理解您请求的范围,我们将package.jsonapp.ts作为上下文添加到提示中。

    1. 在聊天视图中选择添加上下文,在搜索字段中输入package,然后从文件列表中选择package.json文件。请注意,您可以添加多种类型的上下文。

    2. 在编辑器中打开app.ts文件,请注意 Copilot 会自动将活动文件添加到聊天上下文中。

  3. 在聊天输入字段中输入“使用 .env 文件进行配置”并按 Enter

  4. 请注意 Copilot 如何跨多个文件进行更新,并向您的工作区添加一个新的.env文件。

    聊天视图中以粗体文本显示了已更改的文件。

    Screenshot of VS Code editor, showing the suggested code change in the app.ts file.

  5. 在聊天视图中选择保留以确认所有建议的更改。

    使用编辑器中的覆盖控件,可以轻松导航和查看文件中各个更改。

开始一个代理编码流程

对于更复杂的请求,您可以使用代理模式让 Copilot 自主规划并执行完成请求所需的任务。这些任务可能涉及编辑代码,但也包括在终端中运行命令。在代理模式下,Copilot 可能会调用不同的工具来完成任务。

我们使用代理模式将 Web 应用程序改为分享旅行小贴士,并添加测试。

  1. 打开聊天视图,从聊天模式下拉菜单中选择代理

    Screenshot of VS Code Copilot Chat view, showing the Agent mode dropdown.

  2. 在聊天输入字段中输入“将应用程序改为旅行博客。添加测试以避免代码回归。”并按 Enter

    请注意,您无需向提示添加上下文。代理模式会自动分析工作区中的代码。

  3. Copilot 迭代应用代码更改并运行测试等命令。在聊天视图中选择继续以确认终端命令。

    Screenshot of VS Code editor, showing the Chat view asking to confirm running tests in the terminal.

    根据您请求的复杂性,Copilot 可能需要几分钟才能完成所有任务。如果在此过程中遇到问题,它会迭代修复它们。

  4. 一旦 Copilot 完成任务,请审查更改并测试应用程序。

    您还可以通过提示 Copilot 运行应用程序,例如“运行应用程序”或“启动服务器”。

恭喜

恭喜,您已成功在 VS Code 中使用 Copilot 聊天功能提出问题并对工作区中的代码进行编辑。继续尝试不同的提示和聊天模式,以充分利用 Copilot 聊天功能。

其他资源