VsCode发布智能体模式+MCP扩展

360影视 动漫周边 2025-04-08 16:12 2

摘要:Copilot智能代理模式(智能体)是AI编程助手的全新升级版,能自动分析代码、运行测试、修复错误,支持多轮互动和精准修改。扩展性极强,可添加浏览器操作、数据库连接等工具,通过MCP协议标准化AI交互,开发者可自由管理工具配置。

Copilot智能代理模式(智能体)是AI编程助手的全新升级版,能自动分析代码、运行测试、修复错误,支持多轮互动和精准修改。扩展性极强,可添加浏览器操作、数据库连接等工具,通过MCP协议标准化AI交互,开发者可自由管理工具配置。

它就像个自动工作的程序员小伙伴,听你指挥完成多步骤的编程任务——分析你的代码库、阅读相关文件、建议修改内容、还能自己运行终端命令和测试。遇到编译报错或代码规范问题它会自动纠错,边干活边检查终端和测试结果,循环修正直到任务完成。现在所有VS Code内测版用户都能用,正式版很快也会上线。

1、怎么使用Copilot智能代理模式?
在内测版VS Code里,按Ctrl+Shift+I打开Copilot编辑面板,从下拉菜单选"agent"模式,输入你的需求就行。

它能帮你自动做这些事:
从零创建应用、跨文件重构代码、编写运行测试、把老代码升级到新框架。还能自动生成文档、添加新工具库、解答复杂代码问题。这个AI搭档能理解你的工作环境,让你效率飞起。它就像个开发流程小管家,但决定权永远在你手里。

工作方式更智能更主动处理任务时,Copilot会循环完成这些步骤:

自己判断需要改哪些文件同时提供代码修改建议和终端命令(比如编译代码、安装插件、运行测试)实时检查修改是否正确,发现问题就重新处理


贴心设计不怕出错虽然理想情况是它直接给你完美结果,但偶尔也会跑偏。所有操作都会透明展示:终端命令需你点头才执行,每个修改都能一键撤销(点击面板顶部的"撤销上一步"按钮)。与其指望一次输入就得到完美答案,不如和Copilot多轮互动——整个界面就是为反复调整设计的,保证最终结果让你满意。

精准锁定修改范围它会自动分析代码上下文,你也可以用#file标记文件、拖拽文件或点击"添加文件"按钮来指定范围。比如先写个specifications.md说明文档,或设置自定义指令,让Copilot遵守你的编码习惯。

注意事项因为每个指令可能触发多次请求,所以速度不如普通编辑模式,还会更快消耗免费额度。明确的小任务用普通模式,复杂多步骤任务再切换代理模式。

技术原理揭秘你发出指令后:

系统会整理你的问题+工作区摘要(不是全部代码省资源)+操作系统信息+工具说明Copilot有一整套工具:搜索代码、读文件、运行终端命令、捕捉报错等(工具库还在不断增加)每个工具都有详细说明书,比如读文件工具会标注要读多少行


开发团队亲测好用VS Code团队管理着200多个代码库,发现它在中小型项目中效率提升明显。比如问"某个功能是怎么实现的"这种开放性问题,或跨文件重构——虽然超大型项目(比如vscode本身)仍有挑战。团队成员还用它搞业余项目:天气预报App、健身食谱、咖啡记录工具什么的。目前团队更喜欢用Claude3.7模型来处理代理模式任务。

现已开放试用当前是预览版,每天都有更新(比如刚新增了编辑终端命令的功能)。接下来重点优化:

更细致的撤销功能简化上下文操作界面支持Notebook笔记常用终端命令免确认在界面直接显示终端结果探索更多插件可能性

2、可扩展性:MCP服务器和VS Code扩展
就像VS Code扩展能让你自定义各种功能一样,代理模式也能按你的需求灵活扩展!通过扩展,代理可以:

上网操作(比如AI辅助网页调试)连接聊天/笔记软件操作数据库读取设计系统的资料获取GitHub上的问题和代码库信息对接你的云服务平台


代理模式的强大之处就在于工具丰富,而且你能自由添加或删除工具。这个扩展功能现在已开放给所有预览版用户试用。

banq注:

使用了agent功能自动重构了代码:原来的代码:

public double sortedLeaderboard(final ForumThread thread, final ForumThread threadPrev) {double p = 0;try {// 时间差计算long diffInMillis = Math.abs(System.currentTimeMillis - thread.getCreationDate2);long diffDays = TimeUnit.DAYS.convert(diffInMillis, TimeUnit.MILLISECONDS);if (diffDays 5 || digCount > 0) {p = p + (dailyViewCount * 100); // 点赞和浏览量高的帖子获得额外加分}} else {// // 时间衰减p = p / (diffDays * 100);}} finally {}return p;}

要求:

sortedLeaderboard方法内diffDays改为按每小时计算ApprovedListSpec.java

agent生成的代码

public double sortedLeaderboard(final ForumThread thread, final ForumThread threadPrev) {double p = 0;try {// 时间差计算long diffInMillis = Math.abs(System.currentTimeMillis - thread.getCreationDate2);long diffHours = TimeUnit.HOURS.convert(diffInMillis, TimeUnit.MILLISECONDS);if (diffHours 5 || digCount > 0) {p = p + (hourlyViewCount * 100); // 点赞和浏览量高的帖子获得额外加分}} else {// 时间衰减p = p / (diffHours * 100);}} finally {}return p;}

亲测有效:源码 见:

来源:解道Jdon

相关推荐