locale.json是唯一强制生效的路径,必须置于用户级目录(如windows的%appdata%\code\user\),内容严格为{"locale":"zh-cn"},无bom、全小写连字符,且需彻底重启vs code(杀尽后台进程)才生效;remote-ssh/wsl需单独配置。

locale.json 是唯一强制生效的路径,其他方式(如改 settings.json、装插件不配置)都不算真正“强制”。
locale.json 文件必须放对位置且内容严格正确
VS Code 启动时只读一次 locale.json,路径错、文件名错、内容错,它就直接忽略,退回到英文。
- 文件必须放在用户级数据目录的
User子目录下,不是工作区(.vscode/)也不是系统级目录 - Windows 路径:
%APPDATA%\Code\User\locale.json - macOS 路径:
~/Library/Application Support/Code/User/locale.json - Linux 路径:
~/.config/Code/User/locale.json
文件内容只能是:
{"locale":"zh-cn"}
- 必须用双引号,不能用中文引号或单引号
-
zh-cn必须全小写、带连字符,zh_CN、zh-hans、Chinese全无效 - 不能有注释、不能有多余逗号、不能有 BOM 头(用 VS Code 自己保存可避免)
修改后必须彻底重启,不能只重载窗口
Developer: Reload Window 不会重新读取 locale.json —— 它只刷新 UI 状态,不重建语言上下文。
- 关闭所有 VS Code 窗口(包括最小化到托盘的)
- 检查后台进程:
- Windows:任务管理器里杀掉所有
Code.exe和Code Helper进程 - macOS:活动监视器里搜
Electron或Code - Linux:运行
pkill -f "code"
- Windows:任务管理器里杀掉所有
- 再全新启动 VS Code
如果跳过这步,新 locale.json 就不会被加载,界面看起来“没变”。
Remote-SSH / WSL 环境要单独配,本地设置不继承
你在本机改好了 locale.json,连上远程机器后还是英文?因为 Remote-SSH 和 WSL 各自运行独立的 VS Code Server,它们读的是远程机器上的用户数据目录。
- Remote-SSH 连接后,按
Ctrl+Shift+P→Developer: Open User Data Folder→ 进User目录,新建或编辑locale.json - WSL 中:进
~/.vscode-server/data/Machine/(后面可能带哈希名)→ 找User/locale.json - 远程端也要安装 Chinese (Simplified) Language Pack,否则只有配置没资源,照样显示英文
别指望“同步设置”或“全局配置”能跨环境生效,这是两个完全隔离的实例。
最常失效的环节不是不会写 JSON,而是关不干净进程、路径写错层级、或者在远程环境漏配。只要这三个点卡住一个,locale.json 就形同虚设。











