现已发布!阅读 10 月份的新功能和修复。

GitHub Copilot 扩展是您所需的全部

2024 年 6 月 24 日,作者:Isidor Nikolic,@isidorn

2017 年,Google 研究人员在他们的开创性论文 “Attention is All You Need” 中介绍了transformer的概念。这些类型的模型,其信息优先级与人类的关注点类似,是当今现代语言模型的基础,例如为 GitHub Copilot 提供支持的模型。

正如 transformer 对 AI 具有变革意义(抱歉)一样,我们相信 GitHub Copilot 扩展最终将实现 AI 为开发人员带来的全部承诺。

VS Code 是历史上使用最广泛的开发工具之一。这种流行很大程度上归功于社区贡献的庞大扩展生态系统。如果您是 VS Code 用户,您可能能立即说出几个您必不可少的扩展。想象一下,如果这些扩展能够利用 AI 和 GitHub Copilot 的力量,将会带来怎样的可能性。

当 AI 了解您的特定上下文时,它的真正力量就会释放出来。而 VS Code 拥有这些知识。扩展可以利用 VS Code API 来利用这种上下文,并在所有开发人员已经存在的 VS Code 中提供最佳、最相关的 AI 驱动的答案和交互。

在这篇文章中,我们将介绍新的 API,这些 API 使扩展能够直接与由 GitHub Copilot 提供的语言模型和聊天体验进行交互。我们将介绍如何从今天开始使用这些 API 进行构建,并展示一些已经开始利用这些 API 来丰富其扩展的早期采用者。

聊天和语言模型 API

今年在 Build 大会上,我们宣布了用于 VS Code 中的 GitHub Copilot 的一组新的 API

请务必观看我们关于 使用 GitHub Copilot 增强 VS Code 扩展 的 Build 会议,以详细了解这些 API。

您可能最熟悉通过聊天界面使用 LLM。您的扩展利用 GitHub Copilot 强大功能的一种方法是构建一个聊天参与者,用户可以在 VS Code 中的聊天视图中与之交互。您可以使用 聊天 API 创建聊天参与者,并使用语言模型 API 处理自然语言并制定对用户查询的响应。在我们的扩展指南中了解有关 聊天 API 的更多信息,该指南使用 @cat 代码导师作为新 API 概念的示例。

Screenshot of the Chat view in VS Code, showing the cat sample participant.

使用 语言模型 API,您现在可以在自己的扩展中直接访问和利用由 GitHub Copilot 提供的大型语言模型(简称 LLM)。只需选择要使用的模型,构建提示并向所选模型发出请求即可。通过使用 VS Code API,您可以将相关上下文添加到提示中。例如,通过包含当前文件的内容或正在使用的技术栈。

语言模型 API 还可用于增强编辑器所有部分的开发人员体验,而不仅仅是聊天视图。您可以贡献一个使用语言模型 API 的操作,以适应 VS Code 的所有可贡献表面,例如编辑器上下文菜单。例如,源代码管理视图使用语言模型 API 允许用户 生成提交消息,该消息基于源代码更改。另一个示例是 Copilot 支持的重命名功能,其中语言模型根据代码的上下文提供符号重命名建议。

Screenshot of the Copilot-powered rename functionality in the VS Code editor.

在我们的扩展指南中了解有关 语言模型 API 的更多信息。

我们相信,最令人愉快的用户体验将来自将聊天和语言模型 API 与 VS Code API 的强大套件相结合。扩展作者应该创造性地利用这些工具,超越简单的问答机器人,在 VS Code 中开发丰富的集成交互,使用正确的用户上下文。用户喜欢在工作流程中进行无缝且强大的交互。这些新的 API 使扩展能够通过将 AI 功能直接集成到 VS Code 中来提高用户的生产力。

GitHub 应用

或者,您可以通过创建一个在聊天视图中贡献聊天参与者的 GitHub 应用来扩展 GitHub Copilot。GitHub 应用由一个服务支持,可在所有 GitHub Copilot 表面(例如 github.com、Visual Studio 或 VS Code)上运行。GitHub 应用无权完全访问 VS Code API。要通过 GitHub 应用扩展 GitHub Copilot,您应该加入 Copilot 合作伙伴计划

我们在 Microsoft Build 大会上通过 GitHub 应用宣布了 GitHub Copilot 扩展,并且我们已经在 GitHub Marketplace 上看到了许多很棒的扩展。

观看我们关于 扩展 GitHub Copilot 的 Build 会议,以了解其实际操作。

VS Code 扩展展示

我们很高兴展示 VS Code 扩展社区使用语言模型和聊天 API 构建的内容。到目前为止,我们已经看到超过 100 个扩展构建在 GitHub Copilot 之上,涵盖各种场景。以下是一些我们认为特别引人注目的扩展。

Stripe

Stripe 使开发人员能够在线接受付款和转账。新的 @stripe 聊天参与者将 Stripe 文档、代码示例和最佳实践的知识触手可及,因此您可以在不离开 VS Code 的情况下构建和维护您的 Stripe 集成。

“我们一直在努力让开发人员更容易集成 Stripe,因此我们很高兴使用 Stripe 特定上下文和功能扩展 Copilot。新的可扩展性 API 设计精良,易于构建,因此我们能够快速移动。” - 伊恩·麦克里斯特尔(EM,Stripe 开发者 AI 团队)

@stripe 参与者可帮助您

  • 生成和调试 Stripe API 代码并将其插入您的项目中
  • 获得基于 Stripe 文档的问题答案
  • 逐步完成构建和最终升级您的 API 集成

Screenshot of the Stripe chat participant in the Chat view in VS Code.

@stripe 参与者将在 7 月中旬之前向所有 Stripe VS Code 扩展用户开放。

MongoDB

MongoDB 开发人员喜欢 用于 VS Code 的 MongoDB 扩展,该扩展支持无缝数据导航、查询构建、使用游乐场进行原型设计以及导出到流行语言。@mongodb 聊天参与者与扩展深度集成,使开发人员能够利用 GitHub Copilot 和扩展的强大组合,在 VS Code 中更快地进行 MongoDB 的应用程序开发。

@mongodb 聊天参与者

  • 从自然语言生成 MongoDB 查询
  • 提供数据库日志中查询性能和错误模式的见解
  • 提供数据库和集合模式信息
  • 在 VS Code 中直接回答问题,并引用官方文档

Screenshot of the MongoDB chat participant in the Chat view in VS Code.

如果您有兴趣使用 MongoDB 聊天参与者,您可以注册以获取对 私有预览版 的访问权限。

Parallels

Parallels(流行的 macOS 虚拟化软件)最近发布了新的 Parallels Desktop VS Code 扩展,以提升 Parallels Desktop 体验。他们通过与 GitHub Copilot 集成进一步改进了它。

“易于使用且功能强大的 API,并提供良好的示例,使我们能够快速创建强大的 Copilot 参与者,否则需要花费大量精力和时间。” – 卡洛斯·拉帕奥(Parallels 解决方案架构师)

通过新的 @parallels 聊天参与者,您可以轻松地使用自然语言执行大多数虚拟机操作。例如,您可以说“@parallels 启动 Windows 11 虚拟机”,让聊天参与者代表您执行操作。

Screenshot of the Parallels chat participant in the Chat view in VS Code.

PostgreSQL

PostgreSQL 是一个非常流行的关系型数据库平台,您现在可以使用 PostgreSQL 聊天参与者 扩展直接与之聊天。@pg 聊天参与者将学习您的数据库模式并为您提供答案,这些答案基于数据库模式。您还可以使用它来生成模式,获取有关 SQL 查询的帮助,甚至生成与您的数据库交互的代码。

Screenshot of the PostgreSQL chat participant in the Chat view in VS Code.

后续步骤

我们只是刚刚起步。与 VS Code 中的所有产品计划一样,我们将随着时间的推移扩展我们的 AI 可扩展性功能。我们预计以下功能将在今年晚些时候发布

  • 意图检测,以便自动调用聊天参与者
  • GPT-4o 语言模型支持
  • 模型请求的令牌限制增加(当前限制为 4K 令牌)
  • 编辑器内联聊天、终端和笔记本中的聊天参与者
  • 变量解析 API - 允许扩展贡献聊天变量,这些变量提供来自扩展域的上下文
  • 工具 API – 将自然语言转换为带有参数的工具调用;允许扩展注册可以由其他参与者调用的工具

现已向所有人开放!

聊天和语言模型 API 现已在 VS Code Insiders 中提供,并将于 7 月初在 VS Code Stable 中提供。您可以使用我们的 文档示例 开始构建强大的 AI 扩展。如果您有任何问题或反馈,可以在我们的存储库中打开一个问题。

您今天就可以将依赖语言模型和聊天 API 的扩展发布到 VS Marketplace。真正的问题是:您将创建哪些令人难以置信的扩展?可能性是无限的,只有您才能将这些创新的想法变为现实。因此,深入我们出色的扩展开发流程,利用 AI 的强大功能,并提供正确的用户上下文,让您的创造力塑造开发的未来!构建过程很有趣 - 去享受吧!

谢谢,

Isidor 和 VS Code 团队