VS Code 中的 AI 可扩展性

本文概述了 Visual Studio Code 中的 AI 可扩展性选项,旨在帮助您为扩展选择最合适的方法。

VS Code 包含强大的 AI 功能,可增强编码体验:

  • 代码补全:在您输入时提供内联代码建议
  • 智能体模式 (Agent mode):使 AI 能够使用专门的工具自主规划和执行开发任务
  • 聊天 (Chat):让开发者能够通过聊天界面使用自然语言提问或在代码库中进行编辑
  • 智能操作 (Smart actions):在整个编辑器中集成由 AI 增强的操作,用于处理常见的开发任务

您可以扩展和自定义这些内置功能中的每一项,以创建满足用户特定需求的定制化 AI 体验。

为什么要扩展 VS Code 中的 AI?

向扩展添加 AI 功能可为您的用户带来诸多益处:

  • 智能体模式下的领域特定知识:让智能体模式能够访问您公司的数据源和服务
  • 增强用户体验:提供针对您扩展领域定制的智能辅助
  • 领域专业化:创建特定于某种编程语言、框架或领域的 AI 功能
  • 扩展聊天能力:向聊天界面添加专门的工具或助手,以实现更强大的交互
  • 提高开发者生产力:利用 AI 能力增强调试、代码审查或测试等常见开发任务

扩展聊天体验

语言模型工具

语言模型工具使您能够利用领域特定能力扩展 VS Code 中的智能体模式。在智能体模式下,这些工具会根据用户的聊天提示自动调用,以执行专门任务或从数据源或服务中检索信息。用户还可以通过在聊天提示中使用 #-mention(提及)来显式引用这些工具。

要实现语言模型工具,请在您的 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 服务器

聊天参与者

聊天参与者 (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 能力整合到任何扩展功能中,例如代码操作、悬停提示提供程序、自定义视图等。

主要优势:

  • 将 AI 能力集成到现有扩展功能中或构建新功能
  • 运行在扩展宿主进程中,允许访问 VS Code 扩展 API
  • 通过 Visual Studio Marketplace 轻松分发和部署

关键考量:

  • 在不同体验间重用代码需要模块化的设计与实现

确定使用哪种选项

在为您在 VS Code 中的扩展选择合适的 AI 扩展方法时,请参考以下准则:

  1. 在以下情况选择“语言模型工具”::

    • 您希望使用专门的功能扩展 VS Code 中的聊天
    • 您希望在智能体模式下根据用户意图进行自动调用
    • 您需要访问 VS Code API 以实现深度集成
    • 您希望通过 VS Code Marketplace 分发您的工具
  2. 在以下情况选择“MCP 工具”::

    • 您希望使用专门的功能扩展 VS Code 中的聊天
    • 您希望在智能体模式下根据用户意图进行自动调用
    • 您不需要与 VS Code API 集成
    • 您的工具需要在不同环境中工作(不仅仅是 VS Code)
    • 您的工具需要在远程或本地运行
  3. 在以下情况选择“聊天参与者”::

    • 您希望使用具有领域专长的专业助手来扩展提问模式
    • 您需要自定义整个交互流程和响应行为
    • 您需要访问 VS Code API 以实现深度集成
    • 您希望通过 VS Code Marketplace 分发您的工具
  4. 在以下情况选择“语言模型 API”::

    • 您希望将 AI 能力集成到现有的扩展功能中
    • 您正在聊天界面之外构建 UI 体验
    • 您需要对 AI 模型请求进行直接的程序控制

后续步骤

请选择最符合您扩展目标的方法

示例项目

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