AI 可擴充套件性 in VS Code
本文概述了 Visual Studio Code 中的 AI 可擴充套件性選項,幫助您為您的擴充套件選擇正確的方法。
VS Code 包含強大的 AI 功能,可增強編碼體驗
- 程式碼補全:在您鍵入時提供內聯程式碼建議
- 代理模式:使 AI 能夠使用專用工具自主規劃和執行開發任務
- 聊天:允許開發人員透過聊天介面使用自然語言提問或在程式碼庫中進行編輯
- 智慧操作:在編輯器中到處使用 AI 增強的操作來執行常見的開發任務
您可以擴充套件和自定義所有這些內建功能,以建立滿足使用者特定需求的定製 AI 體驗。
為什麼擴充套件 VS Code 中的 AI?
為您的擴充套件新增 AI 功能會給您的使用者帶來幾項好處
- 代理模式下的領域特定知識:讓代理模式訪問您公司的資料來源和服務的
- 增強的使用者體驗:提供針對您擴充套件的領域量身定製的智慧幫助
- 領域專業化:建立特定於程式語言、框架或領域的 AI 功能
- 擴充套件聊天功能:為聊天介面新增專用工具或助手,以獲得更強大的互動
- 提高開發人員生產力:透過 AI 功能增強常見的開發任務,例如除錯、程式碼審查或測試
擴充套件聊天體驗
語言模型工具
語言模型工具使您能夠透過領域特定功能擴充套件 VS Code 中的代理模式。在代理模式下,這些工具會根據使用者的聊天提示自動呼叫,以執行專用任務或從資料來源或服務中檢索資訊。使用者還可以透過 #-提及工具在聊天提示中明確引用這些工具。
要實現語言模型工具,請在您的 VS Code 擴充套件中使用語言模型工具 API。語言模型工具可以訪問所有 VS Code 擴充套件 API,並提供與編輯器的深度整合。
主要優勢:
- 作為自主編碼工作流一部分的領域特定功能
- 您的工具實現可以使用 VS Code API,因為它在擴充套件主機程序中執行
- 透過 Visual Studio Marketplace 輕鬆分發和部署
主要考慮因素:
- 遠端部署需要擴充套件實現客戶端-伺服器通訊
- 跨不同工具的重用需要模組化設計和實現
MCP 工具
模型上下文協議 (MCP) 工具提供了一種透過使用標準化協議將外部服務與語言模型整合的方法。在代理模式下,這些工具會根據使用者的聊天提示自動呼叫,以執行專用任務或從外部資料來源檢索資訊。
MCP 工具在 VS Code 之外執行,可以在使用者本地計算機上執行,也可以作為遠端服務執行。使用者可以透過 JSON 配置新增 MCP 工具,或者 VS Code 擴充套件可以以程式設計方式配置它們。您可以透過各種語言 SDK 和部署選項來實現 MCP 工具。
由於 MCP 工具在 VS Code 之外執行,因此它們無法訪問 VS Code 擴充套件 API。
主要優勢:
- 將領域特定功能作為自主編碼工作流的一部分
- 本地和遠端部署選項
- 在其他 MCP 客戶端中重用 MCP 伺服器
主要考慮因素:
- 無法訪問 VS Code 擴充套件 API
- 分發和部署需要使用者設定 MCP 伺服器
聊天參與者
聊天參與者是專業助手,可讓使用者透過特定領域的專家擴充套件提問模式。在聊天中,使用者可以透過 @-提及聊天參與者並提供關於特定主題或領域的自然語言提示來呼叫它。聊天參與者負責處理整個聊天互動。
要實現聊天參與者,請在您的 VS Code 擴充套件中使用聊天 API。聊天參與者可以訪問所有 VS Code 擴充套件 API,並提供與編輯器的深度整合。
主要優勢:
- 控制端到端的互動流程
- 在擴充套件主機程序中執行可訪問 VS Code 擴充套件 API
- 透過 Visual Studio Marketplace 輕鬆分發和部署
主要考慮因素:
- 遠端部署需要擴充套件實現客戶端-伺服器通訊
- 跨不同工具的重用需要模組化設計和實現
構建您自己的 AI 驅動功能
VS Code 為您提供對 AI 模型的直接程式設計訪問,用於在您的擴充套件中建立自定義 AI 驅動的功能。這種方法使您能夠構建使用 AI 功能的編輯器特定互動,而無需依賴聊天介面。
要直接使用語言模型,請在您的 VS Code 擴充套件中使用語言模型 API。您可以將這些 AI 功能合併到任何擴充套件功能中,例如程式碼操作、懸停提供程式、自定義檢視等。
主要優勢:
- 將 AI 功能整合到現有擴充套件功能或構建新功能
- 在擴充套件主機程序中執行可訪問 VS Code 擴充套件 API
- 透過 Visual Studio Marketplace 輕鬆分發和部署
主要考慮因素:
- 跨不同體驗的重用需要模組化設計和實現
決定使用哪個選項
在為您的 VS Code 擴充套件選擇擴充套件 AI 的正確方法時,請考慮以下指南
-
選擇語言模型工具,當:
- 您想透過專用功能來擴充套件 VS Code 中的聊天
- 您希望在代理模式下基於使用者意圖進行自動呼叫
- 您希望訪問 VS Code API 以在 VS Code 中進行深度整合
- 您想透過 VS Code Marketplace 分發您的工具
-
選擇 MCP 工具,當:
- 您想透過專用功能來擴充套件 VS Code 中的聊天
- 您希望在代理模式下基於使用者意圖進行自動呼叫
- 您不需要與 VS Code API 整合
- 您的工具需要在不同環境(不只是 VS Code)中工作
- 您的工具應遠端或本地執行
-
選擇聊天參與者,當:
- 您想透過具有領域專業知識的專用助手來擴充套件提問模式
- 您需要自定義整個互動流程和響應行為
- 您希望訪問 VS Code API 以在 VS Code 中進行深度整合
- 您想透過 VS Code Marketplace 分發您的工具
-
選擇語言模型 API,當:
- 您想將 AI 功能整合到現有擴充套件功能中
- 您正在構建聊天介面之外的 UI 體驗
- 您需要對 AI 模型請求進行直接的程式設計控制
後續步驟
選擇最適合您擴充套件目標的方法
- 實現語言模型工具
- 在您的 VS Code 擴充套件中註冊 MCP 工具
- 使用語言模型 API 將 AI 整合到您的擴充套件中
- 實現聊天參與者
- 使用 Inline Completions API 擴充套件程式碼補全
示例專案
- 聊天示例:包含代理模式工具和聊天參與者的擴充套件
- 程式碼導師聊天參與者教程:構建專業的聊天助手
- AI 驅動的程式碼註釋教程:使用語言模型 API 的分步指南
- MCP 擴充套件示例:註冊 MCP 工具的擴充套件