linux下vscode中文生效必须将locale.json置于~/.config/code/user/locale.json,内容严格为{"locale":"zh-cn"},且需彻底退出进程后用code命令重启。

Linux下locale.json路径必须是~/.config/Code/User/locale.json
VS Code 在 Linux 上只认这个固定路径,放错位置完全无效。常见错误包括:误存到~/.vscode/(这是工作区配置目录)、~/.vscode-server/(Remote-SSH 用)、或/usr/share/code/(安装目录,无写入权限)。文件名也必须是locale.json,大小写敏感,Locale.json或locale.json.bak都不行。
locale.json内容只能是严格一行 JSON:{"locale":"zh-cn"}
不是字符串、不是对象嵌套、不能有注释、不能多空格或换行。以下全部无效:
-
{"locale": "zh-cn"}(引号间有空格) -
{"locale":"zh_CN"}(下划线非连字符) -
{"locale":"zh-hans"}(BCP 47 不支持该变体) -
{"locale":"zh-cn",}(末尾逗号)
推荐用 VS Code 自己新建该文件并保存——它默认用 UTF-8 无 BOM 编码,避免手动编辑器悄悄加 BOM 导致静默失败。
改完必须彻底退出再启动,Reload Window不生效
Linux 下常有残留进程干扰,尤其用code --no-sandbox或通过桌面快捷方式启动时。执行以下操作才真正生效:
- 关闭所有 VS Code 窗口(包括托盘图标)
- 终端运行:
pkill -f "code.*--no-sandbox"或pkill -f "code" - 确认无残留:
ps aux | grep code输出应为空 - 再从终端输入:
code启动(避免快捷方式缓存旧状态)
启动后右下角状态栏会显示zh-cn,点它可快速验证是否已加载。
Remote-SSH 或 WSL 中文不生效?那是另一个独立实例
本地配好的locale.json对远程环境完全没影响。Remote-SSH 连接后,按Ctrl+Shift+P运行Developer: Open User Data Folder,进User/子目录操作;WSL 中则需进~/.vscode-server/data/Machine/下带哈希名的子目录里找User/locale.json。语言包也得在远程端单独安装,ID 必须是ms-ceintl.vscode-language-pack-zh-hans,别信第三方“汉化插件”。
最容易被忽略的是:终端面板、调试控制台、Git 输出这些区域本来就不走 VS Code 的 locale 配置,它们的语言取决于系统 locale 或 shell 环境变量,和locale.json无关。











