你打开 Cursor 扩展面板(Cmd/Ctrl + Shift + X),搜「Prettier」「ESLint」或某个急用的 language server——结果 spinner 一直转、直接报「network error」、或者列表空空。有时扩展找到了,点 Install 却没反应。
最快的解法:点扩展面板顶部的刷新图标,然后重载窗口(Cmd/Ctrl + Shift + P -> 「Developer: Reload Window」)。这能清掉缓存里的空结果,而这正是最常见的一种原因。如果还没好,下面按命中率从高到低把剩下的原因排好了。
Cursor 商店和 VS Code 不一样的根本原因:Cursor 是 VS Code 的 fork,但 Microsoft 的条款限定 Visual Studio Marketplace 只给 Microsoft 自家产品用,所以 Cursor 默认走 Open VSX 注册表(这个切换在 2025 年 6 月 25 日落地)。Cursor 在 Open VSX 之上叠了自己的一层带索引的商店后端,并以 Anysphere 这个发布者身份维护了很多热门扩展的替代版。正是这层额外的索引,导致一个扩展明明在 open-vsx.org 上,却可能在 Cursor 应用内搜不到。
你属于哪一类?
| 现象 | 最可能的原因 | 看哪一条 |
|---|---|---|
| 某个特定扩展搜不到,其他正常 | Microsoft 独占,或 Cursor 索引滞后 | 原因 1、2 |
| 每次搜索都「network error」/ 一直转 | 代理/防火墙拦了 open-vsx.org | 原因 3 |
| 之前都好,现在每次搜都 5xx 或卡住 | Open VSX 在故障 | 原因 4 |
| 搜索返回 404 / 结果格式乱 | 设置里自定义 gallery URL 写错 | 原因 5 |
| 有一次空了,重试还是空 | 缓存陈旧 | 原因 6 |
| 扩展能找到,Install 报版本相关错误 | engines.vscode 不匹配 | 原因 7 |
常见原因
按命中率从高到低。
1. 扩展只在 Microsoft 商店,Open VSX 没有
很多 Microsoft 发布的扩展(Pylance、Remote-SSH、C# Dev Kit、官方 C/C++ 工具)授权上只能在 Microsoft 产品里跑,不在 Open VSX 上。搜出来是空的,就是因为它根本不在 Cursor 用的那个目录里。
怎么判断:去 open-vsx.org 搜这个扩展,那边也没有,就是 Microsoft 独占。另外查一下 Cursor 有没有 Anysphere 发布的对应替代版(它自己的 Python、Remote-SSH 之类的 drop-in)——在面板里按「功能名」搜,而不是按 Microsoft 的包名搜。
2. 扩展在 Open VSX 上,但 Cursor 应用内搜不到(索引滞后)
因为 Cursor 在 Open VSX 前面跑了自己的商店索引,刚发布或刚更新的扩展可能已经在 open-vsx.org 上线,但 Cursor 还没索引到;或者 Cursor 提供的版本比上游旧。这在 2026 年整年的社区反馈里反复出现,是确认过的问题。
怎么判断:先确认这个扩展和版本在 open-vsx.org 上存在,再在 Cursor 里用完整扩展 ID(publisher.name)搜,而不是只搜显示名。open-vsx.org 有、Cursor 面板没有——就是这一类;别干等索引,直接走 VSIX 装(Step 5)。
3. 公司代理或防火墙拦了 open-vsx.org
扩展面板会向 open-vsx.org 和它后面的 CDN / 对象存储发 HTTPS 请求。代理拦了其中任意一个,面板就会挂或报网络错误。
怎么判断:集成终端跑 curl -sS -I https://open-vsx.org/api/-/search?query=prettier。回 403、超时、或 connection refused——就是代理。(回 200 OK 说明 gallery 是通的,原因在别处。)
4. Open VSX 在故障
Open VSX 的基础设施比微软商店小,偶尔会有短时的慢响应或 5xx(比如 2026 年 5 月 1 日有过一次基础设施升级导致的服务中断,一度让搜索 API 挂掉)。
怎么判断:去 status.open-vsx.org 看,或 curl 搜索端点。大家都 5xx——等一等就好。
5. 自定义 gallery URL 配错了
Cursor 设置里可以覆盖 gallery 端点。某次(你或某次「修复」尝试)写了个错 URL,gallery 就返回 404 或非法 JSON。注意:把 Cursor 商店后端指到非默认地址,官方(Anysphere)并不正式支持,所以这里一个乱值是实打实的故障源。
怎么判断:打开 Cursor user 设置 JSON,搜 extensions.gallery。任何不同于 Open VSX 默认的自定义 URL 都可疑。
6. Cursor 缓存了旧的空结果
之前那次因为瞬时错误搜出来是空的,这个空结果可能被缓存到你强制刷新前。
怎么判断:点扩展面板顶部刷新图标,结果出现了——就是缓存陈旧。
7. 扩展锁定的 VS Code 引擎版本跟 Cursor 对不上
Cursor 的 engines.vscode 兼容性接近上游 VS Code,但不完全等同。扩展要求比如 vscode ^1.95,而 Cursor 底层引擎更旧,就装不上。
怎么判断:从磁盘装 .vsix 试试。报错里提到 engine 兼容性——就是它。
开始前
- 先确认你要的扩展是 Open VSX 上有、Microsoft 独占、还是只是在 Cursor 索引里滞后——三种绕法不同。
- 准备一份
.vsix下载作兜底(大多数扩展能手动装)。 - 清楚自己的网络环境:家里、VPN、还是公司代理。
需要收集的信息
- Cursor 版本(Help -> About)。
- OS 和网络环境(VPN、proxy)。
- 同一台机器上浏览器能不能打开
https://open-vsx.org。 curl -sS -I https://open-vsx.org/api/-/search?query=prettier的输出。- user 设置里当前的
extensions.gallery.*值。 - 扩展面板里精确的报错文案。
一步一步修复
Step 1:刷新并重载
点扩展面板顶部的刷新图标。然后 Cmd/Ctrl + Shift + P -> 「Developer: Reload Window」。如果首次加载时网络刚好抖了一下,这一步能把缓存的空状态清掉。多数「列表空空」的情况光这一步就解决了。
Step 2:核对 gallery URL
打开 Cursor user 设置 JSON(Cmd/Ctrl + Shift + P -> 「Preferences: Open User Settings (JSON)」)。看到自定义的 extensions.gallery.* 键,要么整条删掉回到 Cursor 默认,要么粘上这两个 Open VSX 的值:
{
"extensions.gallery.serviceUrl": "https://open-vsx.org/vscode/gallery",
"extensions.gallery.itemUrl": "https://open-vsx.org/vscode/item"
}
之后重载窗口。别把它指到 Microsoft 商店(marketplace.visualstudio.com)——非 Microsoft IDE 在合约层用不了,会被拒。
Step 3:终端验一下 gallery
Cursor 集成终端:
curl -sS -I https://open-vsx.org/api/-/search?query=prettier | head -1
回 200 OK——gallery 通,问题在本地(缓存、索引或设置)。回 403、5xx、或没响应——网络或上游注册表的问题。
Step 4:临时绕开代理
怀疑代理,切手机热点重载扩展面板。这下列表能加载——让 IT 把 open-vsx.org 和它的 CDN / 对象存储 host 一起加进允许列表(只放行顶级域、不放行资源 host 是常见的「半截修复」)。长期方案:公司内自建一个 Open VSX 镜像。
Step 5:从 .vsix 手动装
Open VSX 没收录、或卡在 Cursor 索引里的扩展,从发布者 GitHub Releases 或它官网下载 .vsix,然后二选一:
- 在 Cursor 里:
Cmd/Ctrl + Shift + P-> 「Extensions: Install from VSIX」,选文件(也可以直接把.vsix拖到扩展面板上);或 - 终端里:
cursor --install-extension ./path/to/extension.vsix。
两种都完全绕开 gallery。装完用 cursor --list-extensions 验证。
安全提醒:sideload 或信任搜索结果时,先核对发布者(官方仓库或 Open VSX 上的已验证条目)。2026 年 1 月有研究指出,VS Code 系的 fork 可能推荐 Open VSX 上并不存在的扩展名,留出 typosquatting / 供应链风险;Eclipse 基金会此后在注册表层加了防护,但你仍应把发布者和来源对上。
Step 6:指向自建或镜像 gallery
防火墙严的团队可以自建一个 Open VSX 镜像,然后改设置:
{
"extensions.gallery.serviceUrl": "https://your-mirror.internal/vscode/gallery",
"extensions.gallery.itemUrl": "https://your-mirror.internal/vscode/item"
}
要 ops 支持、且属非官方用法,但对受限网络是最稳的长期方案。
Step 7:解决 engine 兼容性
某个扩展嫌 engines.vscode 不匹配,去 Help -> About 看 Cursor 底层 VS Code 引擎版本。要么升 Cursor(拿更新的引擎),要么装一个匹配你当前引擎的旧版扩展——可以从该扩展在 Open VSX 上的历史版本里下到对应的旧 .vsix。
怎么确认修好了
- 搜「Prettier」这种公认大牌扩展,面板几秒内就出结果。
- 装一个,确认它被激活(status bar 入口、命令面板里多出新命令等)。
- 重载窗口,扩展能扛住重启。
- 重开一次搜索,确认面板加载快、不再卡住。
长期预防
- 优先选 Open VSX 上有的(或 Anysphere 发布的)扩展,开箱即用最省事。
- 真依赖的 Microsoft 独占扩展,按 Cursor 版本归档一份
.vsix,断网也能重装。 - 跟着 Cursor 发布节奏走,升级前先确认 engine 兼容性。
- 团队建一个 Open VSX 镜像;别在防火墙后面依赖
marketplace.visualstudio.com。 - 把 gallery URL 和允许列表要求写进团队 onboarding 文档。
容易踩的坑
- 把 Microsoft 商店 URL 粘到
extensions.gallery.serviceUrl里——非 Microsoft IDE 在合约层用不了,不会生效。 - 把 Cursor 里搜不到当成「扩展不存在」。它可能是 Microsoft 独占,也可能只是在
open-vsx.org上线了、却滞后于 Cursor 的索引。 - 装完扩展就升 Cursor,不复查兼容性——engine 一变扩展会被静默禁用。
- 忘了
.vsix装的扩展不走 gallery、不会自动更新,得自己手动刷。 - 代理只放行
open-vsx.org,没放行它的 CDN / 资源 host。两个都要通。
常见问答
- Cursor 为什么不用 Microsoft 商店? Microsoft 的条款限定 Visual Studio Marketplace 只给 Microsoft 自家产品用。Cursor 是 fork,默认走 Open VSX 才合规,并以 Anysphere 发布者身份维护了很多热门扩展的 drop-in 版本。
- 某个扩展在 Open VSX 上有,Cursor 里却搜不到,为什么? Cursor 在 Open VSX 前面跑了自己的商店索引,新发布或更新的扩展可能滞后于这层索引。用完整的
publisher.nameID 搜;还是没有就直接装.vsix,别干等。 - Cursor 上能装 Pylance 或 Remote-SSH 吗? Microsoft 的官方构建不行,两者都是 Microsoft 授权的。Cursor 自己有部分替代实现(在面板里按功能搜,别按 Microsoft 包名搜)。
- 手动装的 .vsix 怎么更新? 重新下载新版再 Install from VSIX 一次,或用新文件跑
cursor --install-extension。sideload 的扩展不会自动更新。 - Open VSX 有人维护吗? 有,Eclipse 基金会维护(2026 年宣布有 AWS 支持)。主流扩展覆盖良好但不全,偶尔也会短时故障。
- .code-workspace 里推荐的扩展会装上吗? 只装你当前 gallery 上有的,缺的会作为 warning 提示,不是硬报错。
相关
标签: #Cursor #extensions #排查 #排查