微软突发“封杀令”!全面禁止Cursor使用C、C++、C#扩展,开发者被迫回退版本

C语言与CPP编程 2025-04-14 09:00

击上方“C语言与CPP编程”,选择“关注/置顶/星标公众号

干货福利,第一时间送达!

最近有小伙伴说没有收到当天的文章推送,这是因为微信更改了推送机制,导致没有星标公众号的小伙伴刷不到当天推送的文章,无法接收到一些比较实用的知识和资讯。所以建议大家加个星标⭐️,以后就能第一时间收到推送了。


转自:InfoQ

微软某个 VSCode 语言服务扩展中,位于 nativeStrings.json 文件第 485 行的一行代码,打破了它与 Cursor 的兼容性。

该条款规定:“C/C++ 扩展仅可与 Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server 以及微软后续推出的产品和服务一起使用,以开发和测试您的应用程序。”这些限制让开发者更倾向于使用微软的官方发行版,而非其他版本。

图片


"license_terms": "The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications."

随后,就有开发者抱怨道,微软有一些闭源扩展程序(远程访问、Pylance、C/C++、C#),这些扩展程序的最新版本已无法在 Cursor 或其他非微软编辑器中使用。其中,Cursor 1.17.62 版本可以正常使用,但 1.18.21 及更高版本无法正常工作。

图片

Cursor 的文档提供了如何从微软商店安装扩展的说明。该功能依赖于将扩展下载为 .vsix 文件;然而,该文件的下载链接现已不在扩展市场的首页中显示。在很多情况下,如果该扩展是开源的,开发者仍可从其代码仓库(如 GitHub)中下载。

另外,还有开发者称 C# Dev Kit 也遇到了一样的限制。


图片

尝试使用 Microsoft 的 Dev Kit  扩展时 Cursor 报告的错误

对此,Cursor 社区中的开发者 Alexander Schroeder 表示,“我们已经发布了一个即时修复程序,并将很快发布一个长期解决方案。”

图片

另外,也有开发者表示,最新版本的扩展程序阻止了它的工作,但其通过降级并禁用自动更新的方式解决了。“在扩展程序页面,‘卸载’旁边的下拉菜单中有一个“安装特定版本”。安装版本 1.23.6”。

图片
Cursor 的威胁

微软发布的 Visual Studio Code 彻底改变了开发者使用 IDE 的方式,开发者可以用一个统一的工具来编写几乎所有语言和技术栈的代码。

微软不仅提供了 Visual Studio Code,还开发了许多扩展插件,比如 Python 调试器、C/C++ 语言服务、Jupyter、Pylance、Python 语言服务、Azure 工具、Data Wrangler、Jupyter 快捷键映射,甚至还有 JavaScript 和 TypeScript 的语言服务。这些还只是微软所开发的众多扩展中的一部分而已。此外,微软还拥有 GitHub 和 npm,几乎可以说是掌控了整个软件开发工具生态。

这本来挺不错的,然而,微软某些团队最近情况有点不太妙——四位麻省理工学院(MIT)的本科生利用 VSCode 的开源模式,将其分叉(fork)并打造了一个竞争产品 Cursor。当 VSCode 询问是否希望将 AI 建议合并进你正在开发的代码时,Cursor 却是反过来,询问 AI 是否希望让人类插手。

Cursor 本身并不是开源的,这一做法虽然存在争议,但在 VSCode 所采用的 MIT 许可证下是被允许的,所以我们无法查看其内部实现,也不知道它具体做了什么。

不过,Cursor 在去年年中融资了大约 6000 万美元,而在差不多的时间,他们已经拥有约 4 万名用户。Cursor 提供了一个带有限制的免费政策,还有每月 20 美元和 40 美元(按用户计费)的付费计划。

微软的 C/C++ 语言服务扩展突然停止支持 Cursor,让所有人都大吃一惊。然而,这也不是新鲜事。有网友表示,微软自己的语言扩展一直声明不能在 Visual Studio Code 之外使用它(并且 Code fork 不算数),这绝对不是一个新问题,只是他们现在决定强制执行对 C++ 扩展的限制。2018 年时,微软明确表示不允许在 Code forks 上使用 C# 扩展。

微软 vscode-cpp 工具 192 行长的许可证文件显示,它禁止在 VSCode 和微软工具以外的环境中使用。

图片

前端工程师 Tom Smykowski 发现,新的限制规则是在 4 月 1 日被添加进去的,还附有某位评论者的一句评论:

“Embrace, extend, extinguish(拥抱、扩展、消灭)。”

这个短语不仅仅是对这次变更的嘲讽,实际上它来源于微软本身:

“拥抱、扩展、消灭”(EEE),也被称为“拥抱、扩展、根除”,是美国司法部曾经发现的微软内部使用的一个策略短语,用来描述其进入某些采用广泛开放标准的产品领域的行为方式:先“拥抱”标准,随后在其基础上加入专有功能进行“扩展”,最终通过这些差异将竞争对手“消灭”。

这个策略曾在上世纪微软多次反垄断案件中被提及,如今再次被人提起,可见这一举动在开发者社区中引起了不小的反感。

具体来看,这个策略的三个阶段如下:

  • 拥抱(Embrace):开发与开放标准高度兼容的软件。

  • 扩展(Extend):添加开放标准未支持的新功能,从而制造互操作性问题。

  • 消灭(Extinguish):当这些扩展因市场份额优势而成为事实标准后,边缘化那些无法支持这些扩展的竞争对手。

当然,微软从未公开承认这就是他们的战略。毕竟 VSCode 是在 MIT 许可证下开源的,.NET 也同样是开源的,所以并不太像微软还会执行“EEE 战略”。

不过,在这次事件中,微软确实利用了一个存在多年的许可证条款,并在此基础上对扩展加上了限制性封锁。过去没这么做,大概是因为没人把 VSCode 拿去 fork 并试图做成竞品。

有多少扩展受到影响?

那么,到底有多少扩展受到这种限制的影响?

Smykowski 调查后表示,还没有发现其他扩展也存在类似封锁行为。不过 Smykowski 还没检查完全部内容。全网搜索“extension may be used only with”这样的短语,在微软开源代码库里也没找到更多类似描述。

然而问题是,微软可以随时添加这样的限制。事实上,只要你使用的扩展中包含以下这段话:

“您可以在 Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server 以及其后继产品和服务中安装和使用任意数量的副本,仅用于开发和测试您的应用程序。”

那它理论上就可能在未来被微软加上访问限制。

显然,这项限制是 强制规定扩展只能与微软指定的工具一起使用,不能用于任何 fork(衍生版本)

Smykowski 在查找“only with Microsoft”这种措辞时,并没有找到有力证据表明其他语言服务扩展的许可证中也包含类似的限制条款。

所以 Smykowski 的结论是,目前其他语言服务扩展中并没有类似的封锁行为,而且并非所有扩展都使用了这种带有限制的许可证。

Smykowski 建议,当开发者决定在 VSCode 的 fork 上使用某个扩展之前,必须先检查它的许可证, 或者选择使用其他真正开源、许可证开放的扩展。“其实,微软的 VSCode 扩展商店并不是唯一的来源 —— 比如你可以从 Open VSX 获取扩展,它由 Eclipse 基金会托管。”

“锁定效应”促使了 Open VSX 市场的诞生,其初衷是防止官方 VS Code 专属市场“严重限制那些采用开源开发工具的组织的能力”。

尽管如此,Open VSX 市场中的扩展数量和使用率仍远低于微软的官方市场。不过,Cursor 仍然在其 IDE 中提供对 VS Code 市场扩展的访问,包括微软的 C/C++ 扩展和 C# DevKit,同时还提供一个设置选项,可以从已安装的 VS Code 中导入扩展。

看起来微软现在正在更严格地执行其使用条款。DevClass 尝试在 Cursor 中安装微软的 C/C++ 扩展,虽然安装成功,但在使用如“查找所有引用”等功能时却无法正常工作,最终弹出提示窗口,提醒用户该扩展存在使用限制。

这种情况令人困惑,因为 Cursor 仍会在识别到合适的项目时,推荐开发者安装微软的 C++ 扩展。开发者可能会考虑使用替代方案,例如 clangd 扩展,尽管它的安装量仅为 170 万次,而微软的扩展安装量已达 8100 万次。

不过问题在于:虽然微软免费提供了扩展和 VSCode,但这并不代表开发者可以随意使用它们做任何事情。他们完全可以随时更改许可协议,限制你的使用方式,甚至要求为使用付费。“这就意味着,未来充满不确定性,而当一家公司拥有某个工具或平台的控制权时,它也就控制了规则。”Smykowski 评价道。

为了力挺自家 Agent 产品?

对于微软的这一变化,有开发者猜测可能是由于 VS Code 稳定版中引入了“Agent Mode”这一 AI 功能,使 Cursor 成为了 VS Code 更直接的竞争对手。

图片

VS Code Stable 在 3 月的版本中推出了代理模式(Agent mode),该模式现已全面支持 MCP。

与传统的聊天或多文件编辑功能不同,代理模式的核心在于:它不仅仅回答问题,而是具备将开发者的想法转化为代码的实际操作能力:自动识别或生成所需文件,完成所有必要的子任务,确保实现开发者的主要目标;建议终端命令或工具调用,并请求开发者执行;具备运行时错误分析和自我修复能力等。

代理模式由 Claude 3.5 和 3.7 Sonnet、Google Gemini 2.0 Flash 以及 OpenAI GPT-4o 提供支持。目前,代理模式在基于 Claude 3.7 Sonnet 的 SWE-bench Verified 测试中的通过率为 56.0%。

微软一直强调,尽管 Code-OSS 的代码是基于 MIT 许可协议的开源项目,但 VS Code 是微软基于 Code-OSS 仓库定制的发行版本,并采用了传统的微软产品许可协议发布。

有评论指出,在合规性方面,Cursor 可能并未直接链接至 VS Code 扩展市场,而是通过其自有服务发布已上线扩展的链接。目前出现的问题似乎仅限于微软官方的扩展,而非第三方扩展。


推荐阅读  点击标题可跳转

1、C++训练营,来了!

2、HarmonyOS 学习资料分享(无套路免费分享)

我组建了一些社群一起交流,群里有大牛也有小白,如果你有意可以一起进群交流。

欢迎你添加我的微信,我拉你进技术交流群。此外,我也会经常在微信上分享一些计算机学习经验以及工作体验,还有一些内推机会

加个微信,打开另一扇窗

感谢你的分享,点赞,在看三  

C语言与CPP编程 C语言/C++开发,C语言/C++基础知识,C语言/C++学习路线,C语言/C++进阶,数据结构;算法;python;计算机基础等
评论 (0)
  • 文/Leon编辑/cc孙聪颖‍4月18日7时,2025北京亦庄半程马拉松暨人形机器人半程马拉松正式开跑。与普通的半马比赛不同,这次比赛除了有人类选手,还有21支人形机器人队伍参赛,带来了全球首次人类与机器人共同竞技的盛况。参赛队伍中,不乏明星机器人企业及机型,比如北京人形机器人创新中心的天工Ultra、松延动力的N2等。宇树G1、众擎PM01,则是由城市之间科技有限公司购置及调试,并非厂商直接参赛。考虑到机器人的适用场景和续航力各有不同,其赛制也与人类选手做出区别:每支赛队最多可安排3名参赛选手
    华尔街科技眼 2025-04-22 20:10 7浏览
  • 一、行业背景与市场需求高血压作为全球发病率最高的慢性病之一,其早期监测与管理已成为公共卫生领域的重要课题。世界卫生组织数据显示,全球超13亿人受高血压困扰,且患者群体呈现年轻化趋势。传统血压计因功能单一、数据孤立等缺陷,难以满足现代健康管理的需求。在此背景下,集语音播报、蓝牙传输、电量检测于一体的智能血压计应运而生,通过技术创新实现“测量-分析-管理”全流程智能化,成为慢性病管理的核心终端设备。二、技术架构与核心功能智能血压计以电子血压测量技术为基础,融合物联网、AI算法及语音交互技术,构建起多
    广州唯创电子 2025-04-23 09:06 7浏览
  • 在科技飞速发展的当下,机器人领域的每一次突破都能成为大众瞩目的焦点。这不,全球首届人形机器人半程马拉松比赛刚落下帷幕,赛场上的 “小插曲” 就掀起了一阵网络热潮。4月19日,北京亦庄的赛道上热闹非凡,全球首届人形机器人半程马拉松在这里激情开跑。20支机器人队伍带着各自的“参赛选手”,踏上了这21.0975公里的挑战之路。这场比赛可不简单,它将机器人放置于真实且复杂的动态路况与环境中,对机器人在运动控制、环境感知和能源管理等方面的核心技术能力进行了全方位的检验。不仅要应对长距离带来的续航挑战,还要
    用户1742991715177 2025-04-22 20:42 7浏览
  •   电磁兼容故障诊断系统平台深度解析   北京华盛恒辉电磁兼容(EMC)故障诊断系统平台是解决电子设备在复杂电磁环境下性能异常的核心工具。随着电子设备集成度提升与电磁环境复杂化,EMC 问题直接影响设备可靠性与安全性。以下从平台架构、核心功能、技术实现、应用场景及发展趋势展开全面剖析。   应用案例   目前,已有多个电磁兼容故障诊断系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁兼容故障诊断系统。这些成功案例为电磁兼容故障诊断系统的推广和应用提供了有力支持。  
    华盛恒辉l58ll334744 2025-04-22 14:29 152浏览
  • 文/Leon编辑/cc孙聪颖‍在特朗普政府发起的关税战中,全球芯片产业受到巨大冲击,美国芯片企业首当其冲。据报道称,英伟达本周二公布的8-K文件显示,美国政府通知该公司向中国(包括中国香港及澳门)销售尖端芯片(H20)时,需要获得美国政府的许可。文件发布后,英伟达预计会在第一季度中额外增加55亿美元的相关费用计提。随后,英伟达股价单日下跌6.9%,市值一夜蒸发约1890亿美元(约合人民币1.37万亿元)。至截稿时,至截稿时,其股价未见止跌,较前日下跌4.51%。北京时间4月17日,英伟达创始人、
    华尔街科技眼 2025-04-22 20:14 6浏览
  •   卫星通信效能评估系统平台全面解析   北京华盛恒辉卫星通信效能评估系统平台是衡量卫星通信系统性能、优化资源配置、保障通信服务质量的关键技术工具。随着卫星通信技术的快速发展,特别是低轨卫星星座、高通量卫星和软件定义卫星的广泛应用,效能评估系统平台的重要性日益凸显。以下从技术架构、评估指标、关键技术、应用场景及发展趋势五个维度进行全面解析。   应用案例   目前,已有多个卫星通信效能评估系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润卫星通信效能评估系统。这些成功案例为卫
    华盛恒辉l58ll334744 2025-04-22 16:34 116浏览
  •   电磁兼容(EMC)故障诊断系统软件解析   北京华盛恒辉电磁兼容故障诊断系统软件是攻克电子设备电磁干扰难题的专业利器。在电子设备复杂度攀升、电磁兼容问题频发的背景下,该软件于研发、测试、生产全流程中占据关键地位。以下为其详细介绍:   应用案例   目前,已有多个电磁兼容故障诊断系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁兼容故障诊断系统。这些成功案例为电磁兼容故障诊断系统的推广和应用提供了有力支持。   一、软件核心功能   干扰与敏感分析:深度剖析电磁干
    华盛恒辉l58ll334744 2025-04-22 14:53 129浏览
  •   电磁干扰抑制系统平台深度解析   一、系统概述   北京华盛恒辉电磁干扰抑制系统在电子技术快速发展、电磁环境愈发复杂的背景下,电磁干扰(EMI)严重影响电子设备性能、稳定性与安全性。电磁干扰抑制系统平台作为综合性解决方案,通过整合多元技术手段,实现对电磁干扰的高效抑制,确保电子设备稳定运行。   应用案例   目前,已有多个电磁干扰抑制系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁干扰抑制系统。这些成功案例为电磁干扰抑制系统的推广和应用提供了有力支持。   二
    华盛恒辉l58ll334744 2025-04-22 15:27 139浏览
  • 一、技术背景与市场机遇在智能家居高速发展的今天,用户对家电设备的安全性、智能化及能效表现提出更高要求。传统取暖器因缺乏智能感知功能,存在能源浪费、安全隐患等痛点。WTL580-C01微波雷达感应模块的诞生,为取暖设备智能化升级提供了创新解决方案。该模块凭借微波雷达技术优势,在精准测距、环境适应、能耗控制等方面实现突破,成为智能取暖器领域的核心技术组件。二、核心技术原理本模块采用多普勒效应微波雷达技术,通过24GHz高频微波信号的发射-接收机制,实现毫米级动作识别和精准测距。当人体进入4-5米有效
    广州唯创电子 2025-04-23 08:41 11浏览
  • 近期,金融界消息称,江西万年芯微电子有限公司申请一项名为“基于预真空腔体注塑的芯片塑封方法及芯片”的专利。此项创新工艺的申请,标志着万年芯在高端芯片封装领域取得重要突破,为半导体产业链提升注入了新动能。专利摘要显示,本发明公开了一种基于预真空腔体注塑的芯片塑封方法,方法包括将待塑封的大尺寸芯片平铺于下模盒腔体内的基板并将大尺寸芯片的背向表面直接放置于基板上以进行基板吸附;将上模盒盖合于下模盒形成塑封腔,根据基板将塑封腔分为上型腔以及下型腔;将下型腔内壁与大尺寸芯片间的空隙进行树脂填充;通过设置于
    万年芯 2025-04-22 13:28 92浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦