VS Code 中文界面生效必须严格满足 locale.json 路径与内容双精准:Windows 为 %APPDATA%\Code\User\locale.json,macOS 为 ~/Library/Application Support/Code/User/locale.json,Linux 为 ~/.config/Code/User/locale.json;内容仅允许单行 UTF-8 无 BOM 的 {"locale":"zh-cn"},且需彻底重启进程(非仅重载窗口)方可生效。

locale.json 文件路径必须精准匹配系统类型
这个文件不在 VS Code 安装目录,也不在 settings.json 所在位置,它属于用户数据目录,路径写错一个字符就完全失效。Windows、macOS、Linux 三者路径互不兼容,不能复制粘贴混用:
- Windows:
%APPDATA%\Code\User\locale.json(等价于C:\Users\用户名\AppData\Roaming\Code\User\locale.json) - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json
注意:$HOME 和 %APPDATA% 是环境变量,不能直接当字面路径用;路径中不能含中文、空格或特殊符号,否则 VS Code 会静默忽略该文件。
locale.json 内容只允许严格单行 JSON
VS Code 对这个文件的格式极其敏感,不是“差不多就行”,而是“错一个字符就回退英文”。它不接受注释、不接受多行、不接受多余空格或逗号,且必须是 UTF-8 无 BOM 编码:
- ✅ 正确内容(仅且必须):
{"locale":"zh-cn"} - ❌ 错误示例:
{"locale": "zh-cn"}(引号间有空格)、{"locale":"zh_CN"}(下划线)、{"locale":"ZH-CN"}(大写)、{"locale":"zh-hans"}(非标准值)、{"locale":"zh-cn",}(末尾逗号) - 编辑时务必用支持 UTF-8 无 BOM 的编辑器(如 VS Code 自身),不要用记事本保存——它默认带 BOM
改完 locale.json 后必须彻底重启 VS Code 进程
仅点击「重新加载窗口」或关闭再打开窗口,完全无效。VS Code 的语言上下文在主进程启动时读取一次,中途不会重载。残留后台进程会导致新窗口仍继承旧 locale:
- Windows:打开任务管理器 → 结束所有
Code.exe及Code Helper.exe进程 - macOS:活动监视器 → 搜索并强制退出
Electron、Code Helper - Linux:终端执行
pkill -f "code.*--no-sandbox"或手动 kill 相关进程 - 重启后,右下角状态栏应显示
zh-cn,点击它可快速验证是否生效
locale.json 优先级高于 Configure Display Language 命令
命令面板里的 Configure Display Language 本质就是自动写入 locale.json。但如果命令执行失败(比如 UI 卡死、列表为空、点了没反应),手动编辑该文件是最可靠的兜底方式。它的优势在于:
- 绕过 UI 层和插件状态,即使命令面板打不开也能生效
- 不依赖语言包是否已安装——只要文件存在且合法,VS Code 就尝试加载对应翻译资源
- 但前提是语言包已安装(否则只有 locale 配置,没有
zh-cn翻译资源,依然显示英文)
真正容易被忽略的是:locale.json 不是“设置开关”,而是“语言加载指令”;它不控制终端、调试控制台、Git 提示或第三方插件界面——那些走各自本地化逻辑,和这个文件无关。


















