VS Code 中 Copilot Chat 入门
本教程将引导您在 Visual Studio Code 中使用 Copilot Chat。您可以使用 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 扩展。
开始您的首次聊天对话
Copilot Chat 允许您使用自然语言与 GitHub Copilot 交互,以提问并接收与编码相关问题的答案。
在本教程中,您将创建一个简单的 Node.js Web 应用程序。
-
打开一个新的 VS Code 窗口。您将在后续步骤中创建一个新的工作区。
-
从标题栏的 Copilot 菜单中选择打开聊天,或使用 ⌃⌘I (Windows,Linux Ctrl+Alt+I) 键盘快捷键。
请注意,聊天视图在辅助侧边栏中打开。将聊天视图放在侧边可以使您在处理代码时保持对话进行。
-
在聊天视图中,从聊天模式下拉列表中选择询问。
使用询问模式向 Copilot 询问有关编码和技术主题的问题、解释代码或集思广益。
-
让我们向 Copilot 询问有关流行的 Web 框架。在聊天输入字段中输入“最流行的 Web 框架有哪些?”。
Copilot 返回一个流行的 Web 框架列表。尝试提出后续问题以获取有关特定框架的更多信息,或比较框架。例如,您可以询问“Express 和 Fastify 之间有什么区别?”或“如何进行服务器端渲染?”。
-
要搭建新的 Web 应用程序,请在聊天输入字段中输入“使用 typescript 和 pug 的新 express 应用程序”。
请注意 Copilot 如何返回表示新工作区文件的文件树。选择文件树中的任何文件以预览其内容。
-
选择创建工作区以创建应用程序,并在磁盘上选择应在其中创建工作区的文件夹。
在对话框中选择打开以在 VS Code 中打开新创建的工作区。
注意VS Code 可能会询问您是否要信任新的工作区。选择是的,我信任内容以信任工作区。获取有关工作区信任的更多详细信息。
通过内联聊天保持流畅
虽然聊天视图非常适合保持对话进行,但编辑器内联聊天针对您想要询问 Copilot 有关您正在编辑器中积极处理的代码的情况进行了优化。例如,重构特定的代码段或解释复杂的算法。
让我们看看如何使用编辑器内联聊天进行代码重构。
-
打开
app.ts
文件,并使用 ⌘I (Windows,Linux Ctrl+I) 键盘快捷键调出编辑器内联聊天。或者,从标题栏的 Copilot 菜单中选择编辑器内联聊天。聊天输入字段以内联方式显示在编辑器中,您可以在其中输入聊天提示并向 Copilot 询问有关编辑器中代码的问题。
-
在聊天输入字段中输入“添加对 JSON 输出的支持”并按 Enter。
请注意 Copilot 如何提供代码建议以在 Express 中添加对 JSON 输出的支持。
-
选择接受或关闭以应用或忽略更改。
如果您对建议的代码更改不满意,您可以选择重新运行请求控件或提出后续问题以获得另一个建议。
在编辑器中单击鼠标右键,然后选择 Copilot 上下文菜单以访问常用的 Copilot 命令,例如修复或解释代码或生成测试。
跨多个文件进行编辑
通过内联聊天,您对单个文件进行了更改。您还可以通过切换到聊天视图中的编辑模式,使用 Copilot 对工作区中的多个文件进行更改。
让我们使用编辑模式来使用 .env
文件来存储 Web 应用程序的配置。
-
打开聊天视图,然后从聊天模式下拉列表中选择编辑。
-
为了帮助 Copilot 理解您的请求范围,让我们将
package.json
和app.ts
作为上下文添加到提示中。-
在聊天视图中选择添加上下文,在搜索字段中键入
package
,然后从文件列表中选择package.json
文件。请注意,您可以添加多种类型的上下文。 -
在编辑器中打开
app.ts
文件,并注意 Copilot 会自动将活动文件添加到聊天上下文。
-
-
在聊天输入字段中输入“使用 .env 文件进行配置”并按 Enter。
-
请注意 Copilot 如何跨多个文件进行更新,并在您的工作区中添加新的
.env
文件。聊天视图以粗体文本显示聊天视图中已更改的文件。
-
在聊天视图中选择保留以确认所有建议的更改。
使用编辑器中的叠加控件轻松导航和查看文件中各个更改。
启动代理式编码流程
对于更复杂的请求,您可以使用代理模式,让 Copilot 自主计划和执行完成请求所需的任务。这些任务可能涉及编辑代码,但也包括在终端中运行命令。在代理模式下,Copilot 可能会调用不同的工具来完成任务。
让我们使用代理模式使 Web 应用程序成为关于分享旅行技巧的博客并添加测试。
-
打开聊天视图,然后从聊天模式下拉列表中选择代理。
-
在聊天输入字段中输入“使应用程序成为旅行博客。添加测试以避免代码回归。”并按 Enter。
请注意,您无需将上下文添加到提示中。代理模式会自动分析工作区中的代码。
-
Copilot 迭代以应用代码更改并运行命令,例如运行测试。通过在聊天视图中选择继续来确认终端命令。
根据请求的复杂性,Copilot 可能需要几分钟才能完成所有任务。如果在此过程中遇到问题,它会迭代以修复它们。
-
Copilot 完成任务后,请查看更改并测试应用程序。
您还可以通过向 Copilot 发出“运行应用程序”或“启动服务器”之类的提示来要求 Copilot 运行应用程序。
恭喜
恭喜,您已成功在 VS Code 中使用 Copilot Chat 来提问并对工作区中的代码进行编辑。继续尝试不同的提示和聊天模式,以充分利用 Copilot Chat。