GitHub Copilot 扩展就是您所需的一切

2024 年 6 月 24 日由 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,它们赋能扩展程序直接与语言模型以及由 GitHub Copilot 提供的聊天体验进行交互。我们将探讨如何从今天开始使用这些 API 进行开发,并展示一些已经开始利用这些 API 丰富其扩展程序的早期采用者。

聊天与语言模型 API

今年在 Build 大会上,我们发布了一组面向 VS Code 中 GitHub Copilot 的全新 API:

请务必观看我们的 Build 专题演讲 使用 GitHub Copilot 增强 VS Code 扩展,以全面了解这些 API。

您可能对通过聊天界面使用大语言模型(LLM)最为熟悉。您的扩展程序利用 GitHub Copilot 功能的途径之一,就是构建一个聊天参与者(chat participant),用户可以在 VS Code 的“聊天”视图中与其进行交互。您可以使用 Chat API 创建聊天参与者,并利用语言模型 API 来处理自然语言并针对用户的查询生成响应。欢迎查阅我们的扩展指南,了解有关 Chat API 的更多信息,该指南以一个 @cat 代码导师为例来阐述这些新的 API 概念。

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

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

Language Model API 还可用于提升编辑器各个部分的开发体验,不仅限于“聊天”视图。您可以将使用 Language Model API 的操作贡献到 VS Code 的所有可扩展界面中,例如编辑器的右键上下文菜单。例如,“源代码管理”视图就利用了 Language Model API,允许用户根据源代码的变更生成提交信息。另一个例子是由 Copilot 驱动的重命名功能,语言模型会根据代码的上下文提供符号重命名建议。

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

请在我们的扩展指南中了解有关 Language Model API 的更多信息。

我们坚信,最令人愉悦的用户体验将源于把聊天和语言模型 API 与功能强大的 VS Code API 套件结合起来。扩展开发者应当创造性地利用这些工具,超越单纯的问答机器人,在 VS Code 内开发出能够利用恰当的用户上下文、丰富且集成的交互体验。用户非常看重工作流中无缝且强大的交互方式。这些全新的 API 能够让扩展程序将 AI 功能直接集成到 VS Code 中,从而大幅提升用户的生产力。

GitHub Apps

或者,您也可以通过创建一个 GitHub App 来扩展 GitHub Copilot,该应用可在“聊天”视图中添加一个聊天参与者。GitHub App 背后由某项服务提供支持,并可跨所有 GitHub Copilot 界面(例如 github.com、Visual Studio 或 VS Code)运行。不过,GitHub App 无法完全访问 VS Code API。若要通过 GitHub App 扩展 GitHub Copilot,您应当加入 Copilot 合作伙伴计划(Copilot Partner Program)

我们已在 Microsoft Build 大会上通过 GitHub Apps 推出了 GitHub Copilot 扩展,并且我们已经在 GitHub Marketplace 上看到了许多非常棒的扩展。

观看我们的 Build 专题演讲 扩展 GitHub Copilot,亲眼目睹其实际运行效果。

VS Code 扩展展示

我们非常高兴能向大家展示 VS Code 扩展社区利用 Language Model API 和 Chat API 所构建的成果。到目前为止,我们已经看到 100 多个扩展程序基于 GitHub Copilot 在广泛的场景中构建。以下是我们觉得其中特别引人注目的几个。

Stripe

Stripe 能够让开发者在线接受付款和转移资金。全新的 @stripe 聊天参与者将 Stripe 的官方文档、代码示例以及最佳实践汇聚于您的指尖,让您无需离开 VS Code 即可构建并维护您的 Stripe 集成。

“我们一直在努力让开发者更加轻松地集成 Stripe,这就是为什么我们很高兴能通过 Stripe 专属的上下文和功能来扩展 Copilot。全新的扩展 API 精心雕琢且易于构建,因此我们得以非常迅速地推进。”——Ian McCrystal(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 开发者非常喜欢 MongoDB for VS Code 扩展,它支持无缝的数据导航、查询构建、使用 Playground 进行原型设计以及导出到流行语言。@mongodb 聊天参与者与该扩展深度集成,让开发者能够充分利用 GitHub Copilot 与该扩展的强大组合,在 VS Code 中让基于 MongoDB 的应用开发变得更加迅捷。

@mongodb 聊天参与者可以:

  • 通过自然语言生成 MongoDB 查询
  • 根据数据库日志深入分析查询性能和错误模式
  • 提供数据库和集合的架构(Schema)信息
  • 直接在 VS Code 中回答问题并附带官方文档的引用

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

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

Parallels

热门的 macOS 虚拟化软件 Parallels 最近推出了一款全新的 Parallels Desktop VS Code 扩展,旨在提升 Parallels Desktop 的使用体验。通过与 GitHub Copilot 的集成,他们将其功能推向了新的高度。

“简单强大且附带优秀示例的 API,让我们得以快速构建出一个强大的 copilot 参与者,而这在平时需要耗费相当多的时间和精力。”——Carlos Lapao(Parallels 解决方案架构师)

通过全新的 @parallels 聊天参与者,您只需使用自然语言就能轻松执行绝大多数虚拟机操作。例如,您可以说“@parallels start the 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 语言模型
  • 提高模型请求的 Token 限制(当前限制为 4K Token)
  • 在编辑器内联聊天(inline chat)、终端和 Notebook 中支持聊天参与者
  • 变量解析 API(Variable Resolving API)——允许扩展程序贡献聊天变量,从而提供来自扩展域的上下文
  • 工具 API(Tools API)——将自然语言转换为带参数的工具调用;允许扩展程序注册可供其他参与者调用的工具

从今天起向所有人开放!

聊天与语言模型 API 从今天起已在 VS Code Insiders 版本中上线,并将于 7 月初随 VS Code 稳定版(Stable)发布。借助我们的文档示例,您可以轻松上手构建功能强大的 AI 扩展程序。如果您有任何疑问或反馈,欢迎在我们的代码仓库中提交 Issue。

现在,您已经可以将依赖于 Language Model API 和 Chat API 的扩展程序发布到 VS Marketplace 了。真正的问题在于:您将创造出怎样令人惊叹的扩展程序呢?无限的可能正等待着您,唯有您才能将这些创新的构想变为现实。因此,快来深入体验我们出色的扩展开发流程,借助恰当的用户上下文来驾驭人工智能的强大力量,让您的创造力塑造开发的未来吧!构建的过程充满了乐趣——尽情享受吧!

谢谢,

Isidor 及 VS Code 团队

English 한국어 中文(简体) 中文(繁體)
© . This website operates independently and is not affiliated with or endorsed by Microsoft. All brand names, logos, and trademarks are the property of their respective owners.