直接改locale.json不生效的主因是路径错误、编码含BOM或后台进程未清除;settings.json中加"locale":"zh-cn"在1.80+版本有效且优先级更高,改后执行Developer: Reload Window即可生效。

为什么直接改 locale.json 有时也不生效
不是文件内容写错了,而是 VS Code 启动时根本没读到它。常见原因有三个:locale.json 被放在了工作区目录(.vscode/locale.json)而非用户目录;文件编码带 BOM 或用了中文标点;VS Code 后台进程没杀干净,旧配置还在内存里跑着。macOS 和 Linux 用户尤其要注意路径里的 ~ 是否被 shell 正确展开——用 $HOME 替代更稳妥。
settings.json 里加 "locale": "zh-cn" 真的能用吗
能,但只在 VS Code 1.80+ 版本中稳定有效,且优先级高于 locale.json。这不是“替代方案”,而是新版推荐路径。关键点:settings.json 必须是用户级设置(不是工作区),字段名必须小写,值必须是 "zh-cn"(不能是 "zh_CN" 或 "Chinese")。改完不用重启,执行 Developer: Reload Window 就立即切换。如果你用 Settings Sync,这个方式还能随账户同步到其他设备。
命令面板打不开时怎么安全触发语言切换
当 Ctrl+Shift+P 卡死或无响应,说明 UI 层已异常,此时硬改配置反而风险高。可行做法是:先彻底退出所有进程(Windows 查任务管理器杀光 Code.exe 和 Code Helper;macOS 在活动监视器里结束全部 Code 相关项);然后用外部编辑器打开 locale.json,只写一行 {"locale":"zh-cn"},保存为 UTF-8 无 BOM;最后再启动 VS Code。别试图用 code --locale=zh-cn 启动参数——它只影响单次会话,且 1.92+ 已不保证兼容。
Remote-SSH / WSL 中文失效,本地改没用
远程环境完全独立,它根本不看本地的 locale.json 或 settings.json。必须登录到远程机器,在对应路径下单独配置:~/.vscode-server/data/Machine/locale.json(WSL)或 ~/.vscode-server/bin/[hash]/data/Machine/locale.json(Remote-SSH)。注意:路径中的 [hash] 每次 Server 更新都会变,不能硬编码;文件权限要是当前用户可读写;内容仍必须是严格的一行 {"locale":"zh-cn"}。装语言包也得在远程端重装,本地装的不起作用。
真正容易被忽略的是:终端、调试控制台、Git 输出这些区域的语言由各自进程决定,不是 VS Code 界面语言控制的范围。盯住顶部菜单栏、左侧活动栏 hover 文字、设置里搜 locale 看值是否为 zh-cn——这三处对了,才是真汉化成功。


















