检查GitHub Copilot的代码开发功能
GitHub Copilot 已集成到 Visual Studio Code 中,把 AI 驱动的辅助功能直接引入到您的开发环境中。 GitHub Copilot通过生成扩展或改进应用程序的建议来提高开发人员工作效率。 GitHub Copilot提供了两种生成代码建议的主要方法:
- 内联建议:GitHub Copilot 使用您在编辑器或代码注释中输入的代码来生成代码完成建议。
- 聊天交互:GitHub Copilot基于从对话互动或在所选代码上执行的智能操作生成代码建议。
注意
在本模块中,你将使用GitHub Copilot开发新的代码功能和应用程序。 有单独的模块介绍如何使用GitHub Copilot创建单元测试,并使用GitHub Copilot改进现有代码。
Visual Studio Code中的GitHub Copilot工具
Visual Studio Code可以轻松访问以下GitHub Copilot和GitHub Copilot聊天功能:
- 代码补全:利用代码补全更高效地编写代码。 这包括光标位置的虚文本建议和预测下一次编辑位置和内容的下一次编辑建议 (NES)。
- 内联聊天:直接从编辑器启动内联聊天对话,以便在编码时提供帮助。
- 聊天视图:打开侧边的 AI 助手,随时为你提供帮助。 聊天视图使用代理选取器来选择GitHub Copilot的操作模式:Ask用于对话帮助,Plan用于在编写代码之前研究和设计实施计划,或使用Agent以在多个文件中自主工作。
- 快速聊天:提问一个简单的问题,然后回到你正在做的事情。 使用 Ctrl+Shift+Alt+L 键盘快捷方式打开快速聊天,或从Visual Studio Code标题栏中的“聊天”菜单中选择它。
- 智能作:运行智能作以完成某些任务,甚至无需编写提示。
GitHub Copilot将 AI 的强大功能引入Visual Studio Code环境。
使用GitHub Copilot和代码行补全功能生成代码
GitHub Copilot在编写代码时生成两种类型的内联建议。
键入时虚文本建议会出现在光标位置。 应用程序中已有的代码提供了GitHub Copilot用于生成准确建议的上下文。 例如,假设你正在开发一个处理客户支出的类。 该类使用包含所有客户支出的列表。 需要创建一个返回所有支出总和的方法。 如果你开始输入方法签名,GitHub Copilot 会生成一条补全代码行的建议。
如果对建议感到满意,请按 Tab 键或选择“ 接受”。 自动补全功能可以节省时间,并通过提供变量名称和其他代码元素来帮助准确地编写代码。
还可以使用代码行补全来查看用于构造代码的不同选项。 例如,如果你开始键入方法的调用语句,GitHub Copilot 会提供实施各种方法重载的建议。 可以循环浏览建议并接受适合你的意向的选项。 还可以拒绝所有建议。 此过程可帮助你快速探索不同的编码样式和技术。
GitHub Copilot还会从代码注释生成代码行完成建议。 例如,如果键入描述要创建的方法的注释,GitHub Copilot会生成方法签名和实现的建议。
请注意,建议的代码补全使用现有代码中的信息以及描述该方法的代码注释。
开发人员使用虚文本补全来加速初始代码结构的开发。
下一次编辑建议 (NES) 更进一步,不仅预测接下来的内容,还预测下一次编辑需要发生的位置 — 即使在文件的其他位置。 重命名变量、更改数据类型或修复逻辑错误时,NES 建议进行后续编辑,以使代码保持一致。 编辑器中边线处的箭头表示有建议可用。 按 Tab 键导航到它,然后再次按 Tab 键接受它。 你将在下一单元中详细探索虚文本补全和下一次编辑建议。
使用 GitHub Copilot 对话助手生成代码
GitHub Copilot 对话助手可帮助你使用聊天界面和智能操作创建代码。 例如,如果输入提示,要求GitHub Copilot Chat创建新方法,GitHub Copilot会提供一个或多个方法签名和实现的建议。 查看然后接受或放弃建议有助于更快、更准确地创建代码的初始版本。
注意
Visual Studio Code中的GitHub Copilot包括处理用户输入的聊天界面。 在此培训中,使用术语问题和提示来指代您在聊天会话中提供的输入。
当你需要开发实现不熟悉的资源(例如新库、框架或 API)的代码时,GitHub Copilot 对话助手特别有用。 提交描述要求的提示时,GitHub Copilot 对话助手会生成演示如何实现目标的建议。 查看建议还可以教你如何实施新资源。
通过提供包含明确范围和意图的提示或问题给 GitHub Copilot 对话助手,可以改进生成的响应。 可以提出提供上下文的问题并以对话方式描述需求。 GitHub Copilot 对话助手使用提供的信息来生成满足你的需求并匹配编码样式的代码建议。
可以使用聊天参与者、斜杠命令和聊天变量来阐明提示的上下文。
- 聊天参与者(如
@terminal)可帮助 GitHub Copilot 对话助手了解问题上下文。 - 斜杠命令(如
/explain或/new)可帮助 GitHub Copilot 对话助手了解问题的意图或目的。 - 聊天变量(如
#file或#editor)有助于Copilot 对话助手在考虑问题较大上下文时关注特定内容。
使用这些专用描述符有助于 GitHub Copilot 对话助手生成更准确且有用的响应。
可以使用斜杠命令在Copilot 对话助手中执行特定操作。 例如,可以使用以下提示搭建新的 C# 控制台应用程序:
/new console application in C#
此提示使用斜杠命令(/new)来帮助 GitHub Copilot 对话助手执行预期任务。
GitHub Copilot可以为更复杂的项目搭建基架。 例如,以下提示为使用 Express 框架、Pug 模板引擎和 TypeScript 的 Node.js 应用程序创建工作区:
/new Node.js Express Pug TypeScript
在聊天视图中使用 GitHub Copilot 对话助手 生成代码
Visual Studio Code中的聊天视图提供对 AI 助手的访问权限,可帮助你开发代码。 无需离开Visual Studio Code环境,即可提出问题并从 AI 助手获取帮助。 在开发代码和探索解决遇到的难以编码问题的方法时,“聊天”视图可提供帮助。 你也可以使用“聊天”视图提出有关现有代码的问题、获取有关错误或代码逻辑的帮助以及获取有关使用资源的信息。 聊天视图可帮助你学习新的编码技术、探索不同的编码样式和改进编码技能。
聊天视图会在Visual Studio Code代码编辑器右侧的独立面板中打开。 若要打开聊天视图,请从Visual Studio Code标题栏中选择Chat或使用 Ctrl+Alt+I 键盘快捷方式。
如果需要Visual Studio Code中的更多屏幕空间,可以通过从聊天视图的上下文菜单中选择将聊天移动到编辑器区域或将聊天移动到新窗口来打开单独的窗口中的聊天视图。
GitHub Copilot 对话助手提供了丰富的交互式结果,其中包括以下元素:
- 简单文本。 例如,提供对问题的自然语言答复。
- 图像。 例如,显示图表或屏幕截图。
- 按钮。 例如,触发操作。
- 引用。 例如,可以找到有关统一资源标识符 (URI) 的详细信息。
- 文件树。 例如,当聊天参与者建议创建新工作区时显示工作区预览。
以下示例显示对用于创建 Express 应用程序的提示的响应。 GitHub Copilot 对话助手提供简单的文本说明、显示建议的工作区结构的树视图以及可用于创建新工作区的按钮。
GitHub Copilot维护对话的历史记录。 历史记录用于改进 GitHub Copilot 对话助手建议的回复和后续问题。
在“聊天”视图中管理代码块
根据你的问题,GitHub Copilot 对话助手可能会在响应中返回源代码。 源代码显示为代码块,可以通过几种不同的方式管理代码。
如果将鼠标指针悬停在代码块上,则会显示用于管理该代码块的选项。 初始选项在 编辑器中应用、 在光标处插入(Ctrl+Enter)和 “复制”。 下图显示了已选择“复制”选项。
“更多作”按钮显示“ 插入终端”(Ctrl+Alt+Enter) 和 “插入到新文件中”的选项。
如果 GitHub Copilot 对话助手检测到代码块包含命令,则可以使用 Insert 直接在终端(Ctrl+Alt+Enter)的集成终端中运行它。 此选项创建或打开活动终端,并插入命令文本,可供你运行。
使用内联聊天通过 GitHub Copilot 对话助手 生成代码
内联聊天界面提供强大的 AI 功能,可让您将关注点聚焦在代码上。 在代码编辑器中工作时,可以通过按 键盘上的 Ctrl+I 打开内联聊天。
可以通过以下方式使用内联聊天:
- 询问有关现有代码的问题。
- 修改或替换现有代码。
- 生成新代码。
使用内联聊天创建新功能
内联聊天界面可用于开发新的代码功能。 例如,可以使用内联聊天生成新的用户界面组件、新的 API 终结点或新的数据处理管道。
若要使用内联聊天创建新的代码功能,请执行以下操作:
将光标置于要插入新代码的编辑器中。
通过按 键盘上的 Ctrl+I 打开内联聊天。
输入描述要创建的功能的提示。 例如:
Create a method that reads a list of sales records and calculates the total revenue by product category.查看建议,如果结果与您的意图不符,请改进您的提示。
选择 “接受 ”以应用建议。
使用内联聊天创建正则表达式
正则表达式是用于匹配字符串中的字符组合的模式。 一些开发人员发现正则表达式编写起来很困难,因为它们可能很复杂且难以理解。
内联聊天界面可用于快速准确地生成正则表达式。 例如,可以使用内联聊天生成用于验证电子邮件地址、电话号码、邮政编码和其他数据模式的正则表达式。
使用内联聊天创建正则表达式:
在编辑器中选择您要添加验证的代码。
通过按 键盘上的 Ctrl+I 打开内联聊天。
输入描述需要验证的数据模式的提示。 例如:
I want to create a regular expression to validate email addresses.查看建议,并在满足后选择 “接受 ”。
摘要
GitHub Copilot可帮助开发人员更快地编写代码,并减少错误。 它通过您在编辑器中输入的代码或代码注释来生成内联代码完成建议,并基于聊天交互或对选定代码的智能操作生成代码建议。