微软VS Code更新:AI功能扎堆,开发者直呼“吃不消”
微软在开发者对“更多AI功能冗余”颇有微词的情况下,对Visual Studio Code(VS Code)进行了重大更新,将其版本升级至1.102。此次更新的一大亮点,就是新增了一系列Copilot功能,其中模型上下文协议(MCP,Model Context Protocol)支持的全面推出尤为引人注目。
从此次版本更新的关键功能概述来看,AI功能占据了绝对主导地位。在列出的9项关键功能中,有8项都与Copilot紧密相关,仅有通过鼠标中键滚动编辑器这一项属于非AI功能。这无疑凸显了微软在VS Code开发中对AI功能的侧重。
MCP支持如今已全面可用,在VS Code扩展视图中新增的“MCP服务器”板块成为了焦点。这个板块与VS Code网站上的MCP列表相连,每个列表项都配备了安装按钮,方便开发者快速获取所需服务。微软称这是一个经过精心筛选的列表,不过截至目前,其中仅包含了37个MCP服务器。MCP支持的提示功能也十分实用,它能让MCP服务器通过客户端向开发者请求输入,进一步增强了开发者与AI之间的交互性。
自定义指令功能为开发者提供了更多的个性化选择。开发者可以在Markdown文件中定义自定义指令,使AI建议能够自动遵循特定的规则和约定。这些指令会成为发送给Copilot的每个提示的一部分,确保AI输出符合开发者的预期。对于不生成代码的任务,如拉取请求提示,开发者还可以在VS Code设置中定义相关指令。此次更新还新增了使用Copilot Chat生成指令的功能,它会深入分析代码库,反映其现有结构和模式,从而生成贴合实际的指令。
在提高开发效率方面,VS Code团队也在积极探索。他们正在研究由AI代理执行时,对被视为安全的终端命令进行自动批准的实验性功能。这一功能设计了允许列表和拒绝列表,允许列表包含如cd(切换目录)和ls(列出文件)等相对安全的命令,拒绝列表则包含如rm(删除)等具有潜在风险的命令。不过,在当前实验中,允许列表为空。未来,微软计划添加一个用户界面,方便开发者添加命令,并引入让大语言模型(LLM)自身评估命令安全性的选项。这一功能的研发面临着安全与效率的平衡难题,既要确保每个操作都经过人工审查以保障安全,又要通过自动批准节省时间和精力,提高开发效率。
然而,微软对AI功能的过度投入也引发了一些开发者的不满。一些开发者认为VS Code的开发过于依赖AI功能,导致软件变得冗余。“太棒了,更多AI冗余功能。”一位开发者直言不讳地表达了自己的看法。不过,微软在常见问题解答中给出了反驳理由,声称从使用遥测数据来看,使用VS Code中AI功能的用户比使用调试或测试等其他功能的用户更多。
值得注意的是,VS Code产品经理伊西多尔·尼科利奇在谈到Live Share扩展中的漏洞时透露,该扩展资源有限。Live Share在推出时曾被宣传为VS Code的一大特色功能,但如今AI似乎占用了团队的大部分精力,导致Live Share在新版本中出现问题,出现“无法读取null的属性”的错误。虽然在预览版的Insiders构建中该问题已得到修复,但又引入了“参数不匹配”的新错误。
与此同时,另一个关键趋势也在悄然兴起,那就是人们对用于AI编程的命令行界面(CLI)工具的兴趣日益浓厚。一位开发者在评论Cursor(VS Code的一个分支版本)的未来时兴奋地表示:“Claude Code简直火爆……上手极其简单(使用你当前正在使用的任何集成开发环境,只需一个简单扩展就能改善用户体验)。”这反映出开发者对更简洁、高效的AI编程工具的渴望。
微软在5月表示有意将VS Code打造成“开源AI编辑器”,并为此将更多AI功能开源,包括Copilot Chat(仅客户端)。但这一举措也带来了一个附带结果,即VS Code在一定程度上成为了GitHub Copilot的宣传工具。有些开发者更希望团队能将集成开发环境与AI功能解耦,为不使用Copilot的用户去除冗余功能,让VS Code回归简洁高效的本色。