尝试以扩展 VS Code 中的代理模式!

VS Code 中的 AI 扩展性

本文概述了 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) 工具提供了一种通过使用标准化协议将外部服务与语言模型集成的b方式。在代理模式下,这些工具根据用户的聊天提示自动调用,以执行专业任务或从外部数据源检索信息。

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 扩展方法时,请考虑以下准则

  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 功能集成到现有扩展功能中
    • 您正在构建聊天界面之外的 UI 体验
    • 您需要直接编程控制 AI 模型请求

后续步骤

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

示例项目