vscode设置中文界面必须通过configure display language命令生成用户级locale.json(如%appdata%\code\user\locale.json),内容为{"locale":"zh-cn"},保存后彻底关闭所有进程并重启,remote-ssh/wsl需单独配置。

locale.json 文件必须严格写成 {"locale":"en"} 或 {"locale":"zh-cn"}
VSCode 对 locale.json 的解析极其敏感,只接受一种 JSON 结构:单个键 locale,值必须是小写、无空格、无 BOM、无注释的字符串。不是 "en-us",不是 "EN",也不是 "Chinese"——只有 "en" 和 "zh-cn" 被识别。
常见错误包括:
- 用中文引号或单引号:
{'locale':'en'}或{“locale”:“en”}→ 静默失败 - 末尾多空格:
{"locale":"en" }→ 忽略整个文件 - 多了逗号:
{"locale":"en",}→ JSON 解析失败 - 写成大写:
{"locale":"EN"}或{"locale":"ZH-CN"}→ 不匹配,fallback 到英文
正确写法(复制粘贴即可,注意用英文双引号):
{"locale":"en"}
或
{"locale":"zh-cn"}
路径错了 locale.json 就完全不生效
locale.json 必须放在用户级数据目录下的 User 子目录里,不是工作区、不是系统级、也不能随便建在桌面。路径不对 = 配置被无视。
各系统准确路径:
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
~/Library/Application Support/Code/User/locale.json - Linux:
~/.config/Code/User/locale.json
别去 .vscode/ 目录下找或新建 —— 那是工作区配置,对语言设置无效。也别用记事本保存,它默认带 BOM;用 VS Code 自己新建并保存,编码自动是 UTF-8 无 BOM。
Remote-SSH / WSL 的 locale.json 要单独配
你在本地把 locale.json 改对了,连上 Remote-SSH 或 WSL 后界面还是英文?因为远程实例读的是它自己机器上的配置,和本地完全隔离。
Remote-SSH 中操作:
- 连接后按
Ctrl+Shift+P,运行Developer: Open User Data Folder - 进打开的目录,找到或新建
User/locale.json - 内容仍为
{"locale":"zh-cn"}或{"locale":"en"}
WSL 中操作:
- 在 WSL 终端执行
code --list-extensions确认 VS Code Server 已启动 - 进入路径类似
~/.vscode-server/data/Machine/abc123.../User/(后缀是哈希值,每次更新可能变) - 在此目录下新建
locale.json,内容同上
改完不重启或没关干净,等于白改
VSCode 启动时只读一次 locale.json。如果后台还有残留进程(比如 Windows 托盘图标还在、macOS Dock 图标未消失、WSL 里 code-server 进程活着),新窗口会继承旧语言环境。
务必做到:
- 右下角状态栏显示
en或zh-cn—— 这是唯一可靠的状态指示 - Windows:任务管理器里杀掉所有
Code.exe和Code Helper进程 - macOS:强制退出 Dock 中的 VS Code,再检查 Activity Monitor 有无 Electron 进程
- Linux / WSL:
pkill -f "code"或手动 kill 相关进程
最后再启动 VS Code,才能确保读到你刚写进去的新值。











