VS Code 中的 AI 擴充性
本文概述了 Visual Studio Code 中的 AI 擴充選項,協助您為您的擴充功能選擇合適的方法。
VS Code 包含強大的 AI 功能,可提升程式碼撰寫體驗
- 程式碼自動完成:在您輸入時提供行內程式碼建議
- 代理程式模式:使 AI 能夠利用專門的工具自主規劃和執行開發任務
- 聊天:讓開發人員透過聊天介面使用自然語言來提問或在程式碼基底中進行編輯
- 智慧動作:針對常見的開發任務使用 AI 強化動作,並整合至整個編輯器中
您可以擴充和自訂這些內建功能中的每一項,以建立符合使用者特定需求的量身打造 AI 體驗。
為什麼要在 VS Code 中擴充 AI?
為您的擴充功能新增 AI 功能可為您的使用者帶來多項好處
- 代理程式模式中的領域特定知識:讓代理程式模式存取您公司的資料來源與服務
- 增強的使用者體驗:提供針對您的擴充功能領域量身打造的智慧協助
- 領域專業化:建立專屬於某個程式語言、框架或領域的 AI 功能
- 擴充聊天功能:將專門的工具或助理新增至聊天介面,以進行更強大的互動
- 提升開發人員生產力:透過 AI 功能強化常見的開發人員任務,例如偵錯、程式碼審查或測試
擴充聊天體驗
語言模型工具
語言模型工具可讓您使用領域特定功能來擴充 VS Code 中的代理程式模式。在代理程式模式中,這些工具會根據使用者的聊天提示自動叫用,以執行專門的任務或從資料來源或服務中擷取資訊。使用者也可以透過在聊天提示中以 #-提及該工具來明確參照這些工具。
若要實作語言模型工具,請在您的 VS Code 擴充功能中使用 Language Model Tools 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 擴充功能中使用 Chat API。聊天參與者可以存取所有 VS Code 擴充功能 API,並提供與編輯器的深度整合。
主要好處:
- 控制端對端互動流程
- 在擴充功能主機處理序中執行可允許存取 VS Code 擴充功能 API
- 透過 Visual Studio Marketplace 輕鬆散布與部署
主要考量因素:
- 遠端部署需要擴充功能來實作用戶端-伺服器通訊
- 跨不同工具的重複使用需要模組化設計與實作
建置您自己的 AI 驅動功能
VS Code 提供直接透過程式設計存取 AI 模型的功能,供您在擴充功能中建立自訂的 AI 驅動功能。此方法可讓您建置使用 AI 功能且不依賴聊天介面的編輯器專屬互動。
若要直接使用語言模型,請在您的 VS Code 擴充功能中使用 Language Model 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 功能整合至現有的擴充功能特徵中
- 您正在建置聊天介面以外的使用者介面體驗
- 您需要直接透過程式設計控制 AI 模型要求
後續步驟
選擇最符合您的擴充功能目標的方法
範例專案
- 聊天範例:包含代理程式模式工具與聊天參與者的擴充功能
- 程式碼導師聊天參與者教學課程:建置專門的聊天助理
- AI 驅動的程式碼註解教學課程:使用語言模型 API 的逐步指南
- MCP 擴充功能範例:註冊 MCP 工具的擴充功能