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 的資訊。

透過 語言模型 API,你現在可以直接訪問並利用 GitHub Copilot 在你的擴充套件中貢獻的大型語言模型(簡稱 LLM)。只需選擇要使用的模型,構建一個提示,然後向選定的模型傳送請求。透過使用 VS Code API,你可以為提示新增相關的上下文。例如,包含當前檔案內容或正在使用的技術堆疊。
語言模型 API 也可以用來增強編輯器所有部分的開發者體驗,而不僅僅是聊天檢視。你可以為 VS Code 的所有可貢獻表面(例如編輯器上下文選單)貢獻一個使用語言模型 API 的操作。例如,原始碼管理檢視使用語言模型 API 允許使用者 生成提交訊息,基於原始碼更改。另一個例子是 Copilot 驅動的重新命名功能,其中語言模型根據程式碼的上下文提供符號重新命名建議。

在我們的擴充套件指南中瞭解更多關於 語言模型 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 整合

@stripe 參與者將於 7 月中旬向所有 Stripe VS Code 擴充套件使用者提供。
MongoDB
MongoDB 開發者喜愛 MongoDB for VS Code 擴充套件,該擴充套件實現了無縫的資料導航、查詢構建、原型設計和匯出到流行語言。@mongodb 聊天參與者與該擴充套件深度整合,使開發者能夠利用 GitHub Copilot 和該擴充套件的強大組合,在 VS Code 中更快地進行 MongoDB 應用開發。
@mongodb 聊天參與者:
- 從自然語言生成 MongoDB 查詢
- 提供對查詢效能和來自資料庫日誌的錯誤模式的洞察
- 提供資料庫和集合模式資訊
- 在 VS Code 中提供直接答案,並引用官方文件

如果你有興趣使用 MongoDB 聊天參與者,你可以註冊以獲得 私有預覽的訪問許可權。
Parallels
Parallels,流行的 macOS 虛擬化軟體,最近推出了新的 Parallels Desktop VS Code 擴充套件,以提升 Parallels Desktop 的體驗。他們透過與 GitHub Copilot 整合進一步改進了它。
“簡單強大的 API 和優秀的示例使我們能夠快速建立一個強大的 Copilot 參與者,否則這將需要相當大的努力和時間。” – Carlos Lapao(Parallels 解決方案架構師)
透過新的 @parallels 聊天參與者,你可以使用自然語言輕鬆執行大多數虛擬機器操作。例如,你可以說“@parallels 啟動 Windows 11 VM”,然後聊天參與者就可以為你執行。

PostgreSQL
PostgreSQL 是一個非常流行的關係資料庫平臺,現在你可以透過使用 PostgreSQL Chat Participant 擴充套件直接與之聊天。@pg 聊天參與者將學習你的資料庫模式併為你提供基於資料庫模式的答案。你還可以使用它來生成模式,獲取 SQL 查詢的幫助,甚至生成與資料庫互動的程式碼。

後續步驟
我們才剛剛開始。與 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 團隊