
GitHub Copilot Extensions 允許開發者使用自然語言在 IDE 中查詢文件、生成程式碼、檢索資料以及在外部服務上執行操作,現已正式普遍可用。除了使用來自 Docker、MongoDB、Sentry 等公司的公共擴充套件外,開發者還可以建立自己的擴充套件實現與內部庫或 API 發生互動。
GitHub Marketplace 已經提供了數十種擴充套件,涵蓋了廣泛的開發相關服務。例如,你可以使用 Stack Overflow 擴充套件在不離開編輯器的情況下直接提問程式設計相關問題;而 GitBook 擴充套件則允許你查詢有關 GitBook 文件的問題。
除了提供文件訪問外,Copilot 擴充套件還可以讓開發者直接在 IDE 中與服務發生互動。例如,Docker 擴充套件可幫助生成 Docker 相關檔案並分析漏洞;LambdaTest 擴充套件可用於管理測試工作流,並簡化測試執行、自動化和洞察生成;Mermaid Chart 擴充套件可以根據你當前 IDE 中的 GitHub Actions、SQL 或其他檔案生成各種圖表。
如前所述,開發者還可以建立自己的擴充套件來訪問私有資料或內部服務。為了方便開發者建立擴充套件,GitHub 釋出了多個示例程式碼庫,演示如何構建一個 基本的 “Hello World” 擴充套件、如何從擴充套件的測試使用者那裡收集反饋,等等。
構建 Copilot 擴充套件有兩種方式。一種是定義技能集,Copilot 負責處理所有與擴充套件的 AI 互動,而擴充套件只需提供幾個可呼叫端點的描述,用於處理使用者請求。目前,一個擴充套件最多可配置五個不同的技能。
另一種你可以使用自己的 AI 智慧體,在這種情況下,你需要將使用者上下文中的某些資訊傳給智慧體,例如使用者當前檔案、選中文字和程式碼庫的詳細資訊。智慧體接收包含使用者訊息及其當前環境引用的伺服器傳送事件(SSE)。實際的上下文資訊會因託管擴充套件的客戶端而異。例如,Visual Studio 和 Visual Studio Code 會傳遞當前選中內容或整個檔案內容,而 GitHub.com 則不會,但會提供使用者當前訪問的頁面 URL。
為了方便擴充套件開發者管理身份驗證,GitHub 最近增加了對 OpenID Connect (OIDC) 的支援。開發者無需在每個請求中驗證 GitHub 令牌的有效性,而是可以使用預交換的令牌。
GitHub Copilot 擴充套件可以在多種客戶端中使用,包括 Visual Studio 和 Visual Studio Code、GitHub.com 和 GitHub 移動應用,以及 JetBrains 的 IDE。不過,它們目前不支援 Xcode 或 GitHub Codespaces,也不支援 vim 或 emacs。
檢視英文原文:
https://www.infoq.com/news/2025/02/github-copilot-extensions/
宣告:本文由 InfoQ 翻譯,未經許可禁止轉載。
