必须手动创建locale.json文件,路径为用户级目录(如Windows的%APPDATA%\Code\User\),内容严格为{"locale":"zh-cn"}且UTF-8无BOM编码,远程开发需在对应远程环境重复配置。

找不到 locale.json 文件,说明 VS Code 没生成它——必须手动创建
VS Code 不会预置 locale.json,它只在你首次执行 Configure Display Language 命令且成功写入时才创建。如果命令面板打不开、插件没装对、或中途被中断,文件就根本不会出现。这不是路径错了,是压根没触发生成逻辑。
手动创建是最直接的解法,但要注意三点:
- 必须关闭所有 VS Code 实例(包括托盘里的
Code.exe或Electron进程) - 用纯文本编辑器(记事本、VS Code 自身都行),新建文件,内容严格为:
{"locale":"zh-cn"} - 保存为 UTF-8 无 BOM 编码,文件名必须是
locale.json,不能带空格、中文或额外后缀
locale.json 路径写错,导致 VS Code 根本不读
VS Code 只认固定路径下的 locale.json,且只读用户级(User)目录,不读工作区(.vscode/)或系统级路径。常见错误是把文件放进了项目根目录的 .vscode/locale.json —— 那个只影响当前文件夹,换个项目就失效。
正确路径如下:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
~/Library/Application Support/Code/User/locale.json - Linux:
~/.config/Code/User/locale.json
粘贴路径到文件管理器地址栏,直接打开对应文件夹。如果目录不存在,手动逐级新建 User 和 locale.json;不要试图把文件拖进别的地方再改名。
locale.json 存在但内容无效,VS Code 会静默忽略
VS Code 对 locale.json 的格式极其敏感。哪怕多一个空格、用中文引号、漏掉大括号、或写成 {"locale": "zh-CN"}(大写 CN),它都会放弃加载并回退到英文界面,且不报错、不提示。
使用约定式提交(Conventional Commits)生成标准化的 Git 提交信息。适用于以下场景: (1) 暂存更改时需要提交信息; (2) 审查 diff 时希望获得结构化摘要; (3) 编写 PR 描述或变更日志(changelog)条目; (4) 用户明确要求“为本次更改编写提交信息”。 该功能会分析已暂存/未暂存的 diff,并生成按类型(type)划分范围的提交信息。
常见无效写法包括:
-
{"locale": "zh-cn",}(末尾逗号) -
{"locale":"zh-hans"}(旧版写法,新版不认) -
{"locale":"Chinese"}(字符串值非法) -
// 注释或其他非 JSON 内容
最稳做法:删掉整个文件,重新建一个,只写一行 {"locale":"zh-cn"},保存后彻底退出 VS Code 再启动。
Remote-SSH / WSL 场景下 locale.json 必须在远程环境里
本地 VS Code 界面汉化成功 ≠ 远程窗口也汉化。当你通过 Remote-SSH 连 Linux 或在 WSL 中开发时,远程端的 UI 语言由远程机器上的 locale.json 控制,本地设置完全不影响。
操作要点:
- 先确认已连接到远程环境(状态栏显示 [SSH] 或 [WSL])
- 在远程终端中运行:
code --list-extensions | grep zh-hans,确保语言包已安装 - 在远程机器上按对应路径创建
locale.json(如 Linux 是~/.config/Code/User/locale.json) - 远程端也要重启 VS Code Server:命令面板执行
Developer: Restart Server,或断开重连
最容易被忽略的是:你改了本地 locale.json,却忘了远程端根本没这个文件——结果只有本地菜单是中文,远程窗口全是英文。










