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) 工具通过使用标准化协议,提供了一种将外部服务与语言模型集成的方法。在代理模式下,这些工具根据用户的聊天提示自动调用,以执行特定任务或从外部数据源检索信息。
MCP工具在VS Code之外运行,可以在用户的本地机器上或作为远程服务运行。用户可以通过JSON配置或VS Code扩展来编程配置MCP工具。您可以通过各种语言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 扩展中使用 语言模型 API。您可以将这些 AI 功能整合到任何扩展功能中,例如代码操作、悬停提供程序、自定义视图等。
主要好处:
- 将AI功能整合到现有扩展功能中或构建新的扩展功能
- 在扩展主机过程中运行可以访问 VS Code 扩展 API
- 通过Visual Studio Marketplace轻松分发和部署
关键考虑:
- 在不同体验中重复使用需要模块化设计和实现
决定使用哪个选项
在选择扩展 VS Code 扩展中 AI 的正确方法时,请考虑以下指南:
-
选择语言模型工具时:
- 你想在 VS Code 中扩展聊天功能以具备专业能力
- 您希望在代理模式下基于用户意图自动调用
- 您希望访问 VS Code API 以在 VS Code 中进行深度集成
- 您想通过 VS Code 市场分发您的工具
-
选择MCP工具当:
- 你想在 VS Code 中扩展聊天功能以具备专业能力
- 您希望在代理模式下基于用户意图自动调用
- 你不需要集成VS Code API。
- 您的工具需要在不同的环境中工作(不仅仅是 VS Code)
- 您的工具应该能够远程或本地运行
-
选择聊天参与者当:
- 你想通过一个具有领域专业知识的专属助手来扩展问模式
- 你需要定制整个交互流程和响应行为
- 您希望访问 VS Code API 以在 VS Code 中进行深度集成
- 您想通过 VS Code 市场分发您的工具
-
选择语言模型 API 当:
- 您希望将AI功能整合到现有的扩展功能中
- 您正在聊天界面之外构建用户界面体验
- 您需要对AI模型请求进行直接的程序化控制
下一步
选择最适合您的扩展目标的方法:
示例项目
- 聊天示例:与代理模式工具和聊天参与者扩展
- 代码导师聊天参与者教程:建立一个专业的聊天助手
- AI驱动的代码注释教程:使用语言模型API的分步指南
- MCP扩展示例:注册MCP工具的扩展