应修改语言包package.json中vscode版本限制为"vscode": ">=1.85.0"并重打包安装,配置国内镜像源、正确设置locale.json路径与内容,remote-ssh/wsl需在远程机器对应路径配置locale.json。

报错 “not compatible with VS Code '1.xxx'” 怎么办
这是最典型的版本不匹配错误,本质是中文包 package.json 里的 "engines": { "vscode": "^1.103.0" } 和你本地 code --version 输出的版本(比如 1.90.2)不满足语义化版本规则。VS Code 启动时会硬校验这个字段,不通过就直接拒载,不报详细堆栈。
解决方法不是降级 VS Code 或翻找旧包——微软已停更旧版语言包,历史版本常灰显或仍卡在更高版本号上。你应该:
- 用
7-Zip(Windows)、Archive Utility(macOS)或unzip(Linux)解压下载的ms-ceintl.vscode-language-pack-zh-hans-*.vsix - 进入
extension/package.json(注意不是根目录那个同名文件) - 把
"vscode": "^1.103.0"改成"vscode": ">=1.85.0"(兼容性最宽)或"vscode": "^1.90.0"(严格匹配你当前版本) - 保存后重新打包为
zip,再把后缀改回.vsix - 命令面板执行
Extensions: Install from VSIX安装这个修改后的文件
安装卡在 “正在安装” 或提示网络错误
这不是插件问题,而是 VS Code 默认请求境外地址 https://marketplace.visualstudio.com 失败。DNS 解析超时、TLS 握手失败、CDN 响应慢都会导致 Network 面板里看不到任何请求,或状态一直是 Pending。
必须显式配置国内镜像源,且两项缺一不可:
- 打开用户
settings.json(Ctrl+Shift+P→Preferences: Open User Settings (JSON)) - 添加两行(注意结尾不能有
/,域名必须一致):"extensions.gallery.serviceUrl": "https://vscode.cdn.azure.cn/_apis/public/gallery""extensions.gallery.cacheUrl": "https://vscode.cdn.azure.cn/_apis/public/gallery/publishers" - 彻底退出所有 VS Code 进程(Windows 查任务管理器杀光
Code.exe,macOS 用 Activity Monitor)后再启动 - 命令行安装(
code --install-extension ms-ceintl.vscode-language-pack-zh-hans)需额外设置环境变量:VSCODE_EXTENSIONS_MSA_URL=https://vscode.cdn.azure.cn
装完还是英文?检查 locale.json 是否真正生效
中文包只是“字典”,locale.json 才是“开关”。它不读 settings.json 里的 locale 字段(VS Code 1.70+ 已弃用),也不继承系统语言设置。只要这个文件路径错、内容错、没保存或进程没重启,界面一定维持英文。
确认三件事:
- 文件路径必须准确:
Windows:%APPDATA%\Code\User\locale.json
macOS:~/Library/Application Support/Code/User/locale.json
Linux:~/.config/Code/User/locale.json - 文件内容必须是严格合法 JSON,仅且仅有这一行:
{"locale":"zh-cn"}(小写、短横线、双引号、无空格、无 BOM) - 改完后必须完全退出 VS Code(包括托盘图标和后台 Helper 进程),再手动双击启动,不能只点
Reload Window
Remote-SSH / WSL 下汉化失效
本地配了 locale.json 没用,因为 Remote-SSH 或 WSL 启动的是远程机器上的 vscode-server 进程,它只读自己机器上的配置,不继承本地设置。
必须登录远程机器,手动配置它的 locale.json:
- 路径是:
~/.vscode-server/data/Machine/locale.json(注意是Machine目录,不是User或Remote) - 内容同样是:
{"locale":"zh-cn"} - 改完后断开 SSH 连接,再重新连接,VS Code 会自动重启远程服务
- 如果远程机器也走代理,还需在
~/.vscode-server/data/Machine/settings.json里配http.proxy,和本地逻辑一致
最容易被忽略的是:装完语言包后没动 locale.json,或者改了但没杀干净后台进程。VS Code 的语言加载是一次性初始化的,缓存和进程残留会让所有前面的操作白费。











