必须用“extensions: install from vsix”安装语言包,双击或拖拽无效;需匹配vscode版本并验证package.json中的engines字段;locale.json须严格为{"locale":"zh-cn"}且放对路径;手动复制extensions文件夹不生效。

必须用 Install from VSIX,别拖拽或双击 .vsix 文件
VSCode 自 1.70 版起禁用双击或拖拽安装机制。你把 .vsix 文件复制进 U 盘、再拖进 VSCode 窗口,VSCode 只会把它存到 %USERPROFILE%\.vscode\extensions\(Windows)或 ~/.vscode/extensions/(macOS/Linux),但不会注册扩展 ID、不加载语言资源、不写入启用状态——结果就是右下角始终显示 en,设置页和命令面板全是英文,且无任何错误提示。
真正生效的路径只有一条:在 VSCode 内打开命令面板(Ctrl+Shift+P),输入并执行 Extensions: Install from VSIX,然后选中 U 盘里的 .vsix 文件。
下载前先核对 VSCode 版本,否则静默失败
离线环境里装了不兼容的 .vsix,VSCode 往往不报错,只是不生效。关键要看两个地方:
- 在离线机上运行
code --version,记下主版本号(如1.104.2中的1.104) - 去官网下载页面(如 https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-zh-hans)找对应版本的
.vsix,文件名形如ms-ceintl.vscode-language-pack-zh-hans-1.104.2025082016.vsix - 右键解压该
.vsix(它本质是 zip),打开里面的package.json,确认"engines": {"vscode": "^1.104.0"}和你本地版本匹配
别用百度搜出的“一键汉化包”或第三方封装的 exe —— 这些大多过期,或根本不是 MS-CEINTL 官方发布。
装完还是英文?重点检查 locale.json 格式和进程残留
安装成功 ≠ 界面变中文。90% 的“不生效”问题出在配置和环境上:
-
locale.json必须放在用户级路径:
Windows:%APPDATA%\Code\User\locale.json
macOS:$HOME/Library/Application Support/Code/User/locale.json
Linux:~/.config/Code/User/locale.json - 内容必须严格为:
{"locale":"zh-cn"}(小写、连字符、双引号、UTF-8 无 BOM) - 别写成
zh_CN、ZH-CN、chinese或带空格的"zh-cn ",VSCode 会直接忽略 - 重启前杀干净后台进程:Windows 用任务管理器结束所有
Code.exe;macOS/Linux 执行pkill -f "Code Helper"和pkill -f "Electron"
手动拷贝 extensions 文件夹几乎必然失败
有人想省事,把别人电脑上已解压好的 ms-ceintl.vscode-language-pack-zh-hans-1.104.2 整个文件夹拷到 U 盘,再复制进自己电脑的 .vscode\extensions\ 目录——这不会生效。
原因很实在:.vsix 安装过程不只是放文件,还要写注册信息到 .metadata、触发资源加载钩子、更新扩展激活状态。手动复制跳过了全部逻辑,VSCode 启动时扫描不到这个扩展,也不会出现在扩展列表里。
如果你真要批量部署,唯一可靠方式是:在离线机上用 code --install-extension /path/to/file.vsix 命令行安装(需确保 VSCode 在 PATH 中),而不是碰 extensions 目录。











