🚀 在 VS Code 中

GitHub Copilot 擴充功能滿足您的所有需求

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

2017 年,Google 研究人員在他們的開創性論文 「Attention is All You Need」 中介紹了轉換器的概念。這些模型類型以類似於人類專注的方式優先處理資訊,是現今現代語言模型的基礎,例如 GitHub Copilot 背後所使用的模型。

正如轉換器對 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 文件、程式碼範例和最佳實務的知識帶到您的指尖,因此您可以建置和維護您的 Stripe 整合,而無需離開 VS Code。

「我們不斷努力使開發人員更容易整合 Stripe,這就是為什麼我們很高興使用 Stripe 特定的情境和功能來擴充 Copilot。新的擴充性 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 開發人員喜歡 適用於 VS Code 的 MongoDB 擴充功能,該擴充功能可實現無縫資料導航、查詢建置、使用 Playground 進行原型設計以及匯出到流行的語言。@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

流行的 macOS 虛擬化軟體 Parallels 最近推出了一個新的 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 聊天參與者 擴充功能直接與之聊天。@pg 聊天參與者將學習您的資料庫結構描述並為您提供答案,以資料庫結構描述為基礎。您也可以使用它來產生結構描述、取得 SQL 查詢的幫助,甚至產生用於與資料庫互動的程式碼。

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

下一步

我們才剛開始。與 VS Code 中的所有產品計畫一樣,我們將隨著時間的推移擴展我們的 AI 擴充性功能。我們預計以下功能將在今年稍後推出

  • 意圖偵測,以便自動調用聊天參與者
  • GPT-4o 語言模型支援
  • 增加模型請求的 Token 限制(目前限制為 4K Token)
  • 編輯器內嵌聊天、終端機和筆記本中的聊天參與者
  • 變數解析 API - 允許擴充功能貢獻聊天變數,這些變數提供來自擴充功能網域的情境
  • 工具 API – 將自然語言轉換為帶有參數的工具呼叫;允許擴充功能註冊可以被其他參與者呼叫的工具

今天起向所有人開放!

聊天和語言模型 API 今天在 VS Code Insiders 中可用,並將於 7 月初在 VS Code Stable 中提供。使用我們的文件範例,您可以輕鬆開始建置強大的 AI 擴充功能。如果您有疑問或意見回饋,可以在我們的儲存庫中開啟一個 issue。

今天,您已經可以將依賴語言模型和聊天 API 的擴充功能發佈到 VS Marketplace。真正的問題是:您將創建哪些令人難以置信的擴充功能?可能性是無限的,只有您可以將這些創新想法變為現實。因此,請投入我們出色的擴充功能開發流程,利用 AI 的力量和正確的使用者情境,讓您的創造力塑造開發的未來!建置部分很有趣 – 去享受吧!

謝謝,

Isidor 和 VS Code 團隊