现已发布!阅读关于 11 月新增功能和修复的内容。

GitHub Copilot 扩展是你所需要的一切

2024 年 6 月 24 日 by Isidor Nikolic, @isidorn

2017 年,Google 的研究人员在其里程碑式的论文《"Attention is All You Need"》中引入了“transformer”的概念。这类模型能够像人类的注意力一样优先处理信息,是当今现代语言模型的基础,例如驱动 GitHub Copilot 的模型。

就像 transformer 对人工智能具有变革性(抱歉,是个双关语)一样,我们相信 GitHub Copilot 扩展最终将实现人工智能对开发者的全部承诺。

VS Code 是历史上使用最广泛的开发工具之一。它的流行在很大程度上归功于社区贡献的大量扩展。如果你是 VS Code 用户,你可能可以马上说出一些你离不开的扩展。想象一下,如果这些扩展能够利用人工智能和 GitHub Copilot 的力量,那将是多么令人兴奋的可能性。

人工智能的真正力量在于它了解你的特定上下文。而 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 来处理自然语言并为用户查询制定响应。在我们的扩展指南中,你可以通过一个使用 @cat 代码导师作为新 API 概念示例的指南,了解更多关于 聊天 API 的信息。

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

通过 语言模型 API,你现在可以直接访问并利用 GitHub Copilot 在你的扩展中贡献的大型语言模型(简称 LLM)。只需选择要使用的模型,构建一个提示,然后向选定的模型发送请求。通过使用 VS Code API,你可以为提示添加相关的上下文。例如,包含当前文件内容或正在使用的技术堆栈。

语言模型 API 也可以用来增强编辑器所有部分的开发者体验,而不仅仅是聊天视图。你可以为 VS Code 的所有可贡献表面(例如编辑器上下文菜单)贡献一个使用语言模型 API 的操作。例如,源代码管理视图使用语言模型 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,这就是为什么我们很高兴能为 Copilot 扩展 Stripe 特定的上下文和功能。新的可扩展性 API 设计精良且易于构建,因此我们能够非常快速地进行开发。” - Ian McCrystal(Stripe Developer AI 团队,EM)

@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 开发者喜爱 MongoDB for VS Code 扩展,该扩展实现了无缝的数据导航、查询构建、原型设计和导出到流行语言。@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 参与者,否则这将需要相当大的努力和时间。” – Carlos Lapao(Parallels 解决方案架构师)

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

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

PostgreSQL

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

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

后续步骤

我们才刚刚开始。与 VS Code 中的所有产品举措一样,我们将随着时间的推移扩展我们的人工智能可扩展性能力。我们预计以下功能将在今年晚些时候推出:

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

今天对所有人开放!

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

今天,你就可以将依赖于语言模型和聊天 API 的扩展发布到 VS Marketplace。真正的问题是:你将创造出什么样的令人难以置信的扩展?可能性是无限的,只有你能将这些创新的想法变为现实。所以,投入到我们出色的扩展开发流程中,利用正确用户上下文的力量 Harness AI,让你的创造力塑造开发的未来!构建部分很有趣——去享受吧!

谢谢,

Isidor 和 VS Code 团队

© . This site is unofficial and not affiliated with Microsoft.