VSCode离线设中文需先安装官方中文语言包.vsix并手动配置locale.json为{"locale":"zh-cn"},因Configure Display Language命令断网时会卡住且不生成文件。

不需要联网也能设置中文,但前提是提前准备好语言包文件;直接在命令面板里执行 Configure Display Language 会触发在线下载,离线环境下这一步必然失败。
为什么 Configure Display Language 在断网时会卡住
这个命令本质是调用 VSCode 内置逻辑:先检查本地有没有对应语言包,没有就自动从 marketplace 下载 ms-ceintl.vscode-language-pack-zh-hans。断网时它既找不到本地包,又无法拉取远程资源,结果就是界面无响应、右下角不弹提示、设置页里 locale 字段也不变——不是你操作错了,是流程根本没走完。
- 现象:输入命令后菜单一闪而过,或长时间空白,
locale.json文件压根没生成 - 本质:VSCode 1.90+ 版本已移除“无包时静默 fallback 到英文”的逻辑,改为强依赖包存在性校验
- 替代方案:跳过该命令,直接走扩展安装 + 手动配置双路径
Extensions: Install from VSIX 是离线安装唯一有效入口
双击 .vsix、拖进窗口、甚至用 code --install-extension 命令行,都可能只复制文件却不注册扩展 ID,导致语言资源加载失败。只有通过命令面板调起的安装流程,才会写入激活状态、触发 locale 初始化。
- 必须步骤:按
Ctrl+Shift+P→ 输入Extensions: Install from VSIX→ 选中下载好的vscode-language-pack-zh-hans-*.vsix - 版本必须匹配:比如 VSCode 当前是
1.95.3,就不能用1.92.0的 vsix;否则安装时可能静默失败,或报Extension is not compatible - 验证是否真装上:打开扩展面板,搜
ms-ceintl.vscode-language-pack-zh-hans,状态栏要显示“已启用”,不是“已安装”
locale.json 里填 "zh-cn",且必须 UTF-8 无 BOM
填错格式是离线汉化失败最隐蔽的原因之一。VSCode 主程序硬编码识别 "zh-cn",zh-hans 在 1.95+ 后仅加载部分 UI 字符串,设置页、终端、调试器仍为英文。
- 路径:Windows 是
%APPDATA%\Code\User\locale.json,macOS/Linux 是$HOME/Library/Application Support/Code/User/locale.json(不是工作区下的.vscode/) - 内容只能是:
{"locale":"zh-cn"},小写、连字符、双引号、无空格、无注释 - 编码错误高发:用记事本保存默认带 BOM,VSCode 会直接忽略该文件;推荐用 VSCode 自身、Notepad++ 或 vim 保存为 UTF-8 no BOM
真正容易被忽略的不是操作步骤,而是后台残留和权限问题:Windows 上杀不干净 Code.exe 进程、macOS 上没清掉 Code Helper 子进程,都会让新 locale 配置不生效;企业环境还常因策略拦截 file:// 协议,此时即使 vsix 安装成功,资源也加载不出来——得找 IT 开白名单或换管理员权限启动。


















