locale.json 文件损坏会导致 VSCode 启动时静默闪退。常见原因包括非法 JSON 格式、UTF-8 BOM、全角字符、错误的 locale 值(如 "zh-cn")及不可见控制字符。解决方法是彻底删除该文件,重启后通过命令面板配置语言,或手动创建严格符合四条约束的 locale.json。

locale.json 文件损坏直接导致 VSCode 闪退
VSCode 启动时会尝试读取 locale.json,如果文件存在但内容非法(比如多了一个逗号、用了中文引号、含注释、BOM 头、或写成 {"locale": "zh-cn"} 而不是 {"locale": "zh-CN"}),它会在初始化阶段静默失败并退出——不报错、不弹窗、只闪一下。这不是插件问题,是配置解析器直接崩溃。
常见触发点:
-
locale.json文件被文本编辑器自动加了 UTF-8 BOM(尤其 Windows 记事本) - 手动编辑时误输全角字符,如“”代替""、:代替:、,代替,
- 值写成
"zh-cn"或"zh_Hans"—— VS Code 1.80+ 严格要求"zh-CN"(大写 CN,短横线) - 文件末尾有空行或不可见控制字符(如 \u2028)
删掉 locale.json 是最稳的重启起点
别修,先清。只要 locale.json 存在且格式可疑,就直接删掉它,让 VS Code 回退到默认英文启动,再重新走标准流程。
操作步骤:
- 完全退出 VSCode(Windows 查任务管理器杀光所有
Code.exe;macOS 活动监视器确认无Code Helper进程) - 定位并删除该文件:
– Windows:%APPDATA%\Code\User\locale.json
– macOS:$HOME/Library/Application Support/Code/User/locale.json
– Linux:$HOME/.config/Code/User/locale.json - 重启 VSCode,确认能正常打开(此时界面为英文,属预期行为)
- 按
Ctrl+Shift+P输入Configure Display Language,从列表中**滚动找到zh-CN**(搜zh-cn或Chinese不会匹配),选中后点Restart Now
手动创建 locale.json 必须满足四条硬约束
命令面板有时会因权限或进程残留写入失败。此时必须手动建文件,且以下四点缺一不可,否则仍会闪退或回退英文:
- 路径必须准确,不能放在
.vscode工作区目录下,只能放用户级User目录内 - 文件名必须是
locale.json(小写,无空格,无扩展名混淆) - 内容必须是且仅是这一行:
{"locale":"zh-CN"}(双引号、无空格、无换行、无逗号、无注释) - 编码必须是 UTF-8 **无 BOM**(用 VSCode 自身保存时,右下角点击编码 → “Save with Encoding” → 选
UTF-8,不要选UTF-8 with BOM)
Remote-SSH / WSL 场景下 locale.json 写错位置会连带本地闪退
如果你常用 Remote-SSH 连服务器,或在 WSL 中开发,locale.json 写在本地毫无意义。更危险的是:VS Code Server 在远程启动时若读到损坏的 locale.json(比如路径错、内容非法),会导致整个远程窗口无法加载,甚至拖垮本地主进程,表现为本地 VSCode 主界面卡死或闪退。
正确做法:
- 断开所有远程连接(File > Close Remote Connection)
- 确保本地
locale.json正确且已生效(界面变中文) - 再 SSH 连入远程机器,在其终端中执行:
mkdir -p ~/.vscode-server/data/Machine/
然后进入该目录,手动创建locale.json,内容同上:{"locale":"zh-CN"} - 远程端也必须用 VSCode 自身保存为 UTF-8 无 BOM,且路径中不能含中文或空格
真正容易被忽略的是:locale.json 的大小写、连字符、编码这三者任意一个出错,VS Code 就不会报错,只会沉默退出——你得盯着进程是否存活,而不是等错误提示。


















