VS Code 中的 AI 擴充性

本文概述了 Visual Studio Code 中的 AI 擴充選項,協助您為您的擴充功能選擇合適的開發方式。

VS Code 包含強大的 AI 功能,可提升程式碼編寫體驗

  • 程式碼完成 (Code completion):在您輸入時提供行內程式碼建議
  • 代理模式 (Agent mode):使 AI 能夠透過專用工具自主規劃並執行開發任務
  • 聊天 (Chat):讓開發人員透過聊天介面,以自然語言提問或對程式碼庫進行編輯
  • 智慧動作 (Smart actions):在編輯器各處整合 AI 增強功能,用於處理常見的開發任務

您可以擴充並自訂這些內建功能,建立符合使用者特定需求的客製化 AI 體驗。

為什麼要擴充 VS Code 的 AI 功能?

為您的擴充功能加入 AI 能力,可為使用者帶來多項益處:

  • 代理模式中的領域特定知識:讓代理模式存取您公司的資料來源與服務
  • 增強的使用者體驗:提供針對您擴充功能領域量身打造的智慧協助
  • 領域專精:針對特定程式語言、框架或領域建立 AI 功能
  • 擴充聊天功能:在聊天介面中新增專業工具或助理,以實現更強大的互動
  • 提升開發人員生產力:利用 AI 能力增強常見的開發任務,如除錯、程式碼審查或測試

擴充聊天體驗

語言模型工具 (Language model tool)

語言模型工具讓您能以領域特定的能力來擴充 VS Code 中的代理模式。在代理模式中,這些工具會根據使用者的聊天提示詞自動呼叫,以執行專業任務或從資料來源/服務中擷取資訊。使用者也可以透過在聊天提示詞中使用 #-mention 標記,明確呼叫這些工具。

若要實作語言模型工具,請在您的 VS Code 擴充功能中使用 語言模型工具 API。語言模型工具可以存取所有 VS Code 擴充功能 API,並與編輯器進行深度整合。

主要優點:

  • 作為自主編碼工作流程一部分的領域特定能力
  • 由於您的工具實作執行於擴充功能宿主處理程序中,因此可以使用 VS Code API
  • 透過 Visual Studio Marketplace 輕鬆發佈與部署

關鍵考量:

  • 遠端部署需要擴充功能自行實作客戶端與伺服器端的通訊
  • 跨不同工具的重複使用需要模組化的設計與實作

MCP 工具

模型上下文協定 (Model Context Protocol, MCP) 工具提供了一種使用標準化協定將外部服務與語言模型整合的方式。在代理模式中,這些工具會根據使用者的聊天提示詞自動呼叫,以執行專業任務或從外部資料來源擷取資訊。

MCP 工具在 VS Code 之外執行,可位於使用者的本機機器或作為遠端服務。使用者可以透過 JSON 設定來新增 MCP 工具,VS Code 擴充功能也可以透過程式設計方式進行設定。您可以透過各種語言 SDK 與部署選項來實作 MCP 工具。

由於 MCP 工具在 VS Code 之外執行,它們無法存取 VS Code 擴充功能 API。

主要優點:

  • 作為自主編碼工作流程的一部分,增加領域特定能力
  • 本機與遠端部署選項
  • 可在其他 MCP 客戶端中重複使用 MCP 伺服器

關鍵考量:

  • 無法存取 VS Code 擴充功能 API
  • 發佈與部署需要使用者自行設定 MCP 伺服器

聊天參與者

聊天參與者 (Chat participants) 是專業化的助理,能讓使用者以領域專家來擴充提問模式。在聊天中,使用者可以透過 @-mention 標記來呼叫聊天參與者,並針對特定主題或領域傳送自然語言提示詞。聊天參與者負責處理整個聊天互動過程。

若要實作聊天參與者,請在您的 VS Code 擴充功能中使用 聊天 API。聊天參與者可以存取所有 VS Code 擴充功能 API,並與編輯器進行深度整合。

主要優點:

  • 控制端對端的互動流程
  • 在擴充功能宿主處理程序中執行,可存取 VS Code 擴充功能 API
  • 透過 Visual Studio Marketplace 輕鬆發佈與部署

關鍵考量:

  • 遠端部署需要擴充功能自行實作客戶端與伺服器端的通訊
  • 跨不同工具的重複使用需要模組化的設計與實作

建立您自己的 AI 驅動功能

VS Code 為您提供直接的程式設計存取權,可呼叫 AI 模型來為您的擴充功能建立自訂的 AI 驅動功能。這種方式讓您無需依賴聊天介面,即可建構使用 AI 能力的編輯器特定互動。

若要直接使用語言模型,請在您的 VS Code 擴充功能中使用 語言模型 API。您可以將這些 AI 能力融入任何擴充功能特性中,例如程式碼動作 (Code actions)、滑鼠懸停提供者 (Hover providers)、自訂視圖等等。

主要優點:

  • 將 AI 能力整合至現有的擴充功能特性,或建立新的特性
  • 在擴充功能宿主處理程序中執行,可存取 VS Code 擴充功能 API
  • 透過 Visual Studio Marketplace 輕鬆發佈與部署

關鍵考量:

  • 跨不同體驗的重複使用需要模組化的設計與實作

決定使用哪種選項

當您在選擇擴充 VS Code 擴充功能中 AI 功能的正確方式時,請參考以下準則:

  1. 選擇「語言模型工具」的情況::

    • 您希望以專業能力擴充 VS Code 中的聊天功能
    • 您希望在代理模式下根據使用者意圖進行自動呼叫
    • 您希望存取 VS Code API 以在 VS Code 中進行深度整合
    • 您希望透過 VS Code Marketplace 發佈您的工具
  2. 選擇「MCP 工具」的情況::

    • 您希望以專業能力擴充 VS Code 中的聊天功能
    • 您希望在代理模式下根據使用者意圖進行自動呼叫
    • 您不需要與 VS Code API 整合
    • 您的工具需要跨不同環境運作(不限於 VS Code)
    • 您的工具需要在遠端或本機執行
  3. 選擇「聊天參與者」的情況::

    • 您希望以具備領域專業知識的專業助理來擴充提問模式
    • 您需要自訂整個互動流程與回應行為
    • 您希望存取 VS Code API 以在 VS Code 中進行深度整合
    • 您希望透過 VS Code Marketplace 發佈您的工具
  4. 選擇「語言模型 API」的情況::

    • 您希望將 AI 能力整合到現有的擴充功能特性中
    • 您正在建構聊天介面之外的使用者介面體驗
    • 您需要對 AI 模型請求進行直接的程式設計控制

後續步驟

選擇最符合您擴充功能目標的方式

範例專案

© . This site is unofficial and not affiliated with Microsoft.