vscode中文语言包由主程序内置机制自动更新,不受extensions.autoupdate控制;其通过product.json和cdn静默同步,禁用需修改安装目录下product.json并设"enablelanguagepacks": false,但会导致英文界面且有重置风险。

VSCode 中文插件(如 vscode-language-pack-zh-hans)本身不参与 extensions.autoUpdate 控制,它由 VS Code 主程序自动拉取更新,关不掉 —— 但你几乎不需要干预它。
为什么中文语言包总在“偷偷更新”?
这不是插件行为,而是 VS Code 内置的「本地化资源同步机制」:每次主程序启动或检测到系统语言为中文时,它会静默检查 product.json 中声明的语言包版本,并从微软 CDN 下载最新 .vsix 覆盖旧包。这个过程绕过所有用户级插件设置,extensions.autoUpdate 对它完全无效。
常见现象包括:
- 重启 VS Code 后发现语言包版本号变了,但没弹窗、没日志
- 手动禁用
vscode-language-pack-zh-hans后,下次启动又被自动启用 - 即使设了
"update.mode": "none",语言包仍会更新
能否彻底阻止中文语言包更新?
技术上可以,但不推荐。唯一可靠方式是修改 VS Code 安装目录下的 resources/app/product.json 文件:
- 找到
"locale":"zh-hans"所在行 - 在其下方添加:
"enableLanguagePacks": false - 保存后重启(需管理员权限修改安装目录)
⚠️ 风险提示:该操作会使 VS Code 回退到英文界面,且后续升级主程序时该字段可能被重置;macOS / Linux snap 安装版无法直接修改此文件。
真正需要关注的其实是“中文相关插件”而非语言包
用户常混淆的其实是以下三类扩展:
-
chinese-copywriting-helper(中文写作辅助):受extensions.autoUpdate控制,可正常关闭 -
auto-rename-tag或prettier的中文提示文案:由插件自身决定是否加载 locale 文件,与语言包无关 -
ms-python.python等官方插件的中文菜单/报错:依赖语言包 + 插件内建 i18n,更新后若中文显示异常,大概率是插件未适配新语言包字段,需等其发版修复
如果你看到的是某款中文功能插件频繁弹出更新提示(比如右下角 “New version of Chinese Snippets available”),那它大概率自带独立检查逻辑 —— 此时搜 chinese-snippets.messages 并设为 [] 才能关掉弹窗。
最稳妥的做法:接受语言包更新,只管住插件
语言包更新极少引发兼容问题,它只是翻译文本,不改逻辑、不启服务、不加载 JS。真正要严控的是功能型插件:
- 在
settings.json中明确写死:"extensions.autoUpdate": false - 对关键插件加例外:
"extensions.autoUpdateExceptions": ["ms-python.python"] - 禁用插件通知而非禁用更新:
"${插件ID}.messages": [](ID 查扩展详情页 URL)
别花时间对抗语言包同步机制——它设计出来就是该自动跑的。把精力放在锁住 eslint、rust-analyzer 这类影响 LSP 行为的插件上,才是稳定开发环境的关键。











