vscode界面语言没变,90%是locale.json未生效;它必须位于用户级指定路径,内容严格为{"locale":"zh-cn"}(utf-8无bom),且需彻底退出进程后全新启动,reload window无效。

VSCode 界面语言没变,90% 是 locale.json 没配对或根本没生效——它不是 settings.json 的一个字段,而是独立文件,路径、内容、编码、重启方式全错一点就静默回退英文。
确认 locale.json 是否真的存在且位置正确
VSCode 只读取**用户级配置目录下**的 locale.json,其他任何地方写的都无效。它不认工作区路径、不读系统级设置、也不看 settings.json 里有没有 "locale" 字段。
- Windows 路径:
%APPDATA%\Code\User\locale.json(不是%USERPROFILE%\AppData\Roaming\Code\User的别名写法,必须用%APPDATA%) - macOS 路径:
$HOME/Library/Application Support/Code/User/locale.json(注意Application Support中间有空格) - Linux 路径:
$HOME/.config/Code/User/locale.json - 如果该文件不存在,不要手动新建再填内容——先执行
Configure Display Language命令,让 VS Code 自己生成;若命令失效,再手动生成,但必须确保目录可写(尤其 macOS/Linux 下曾用sudo code启动过会导致权限错乱)
locale.json 内容必须是合法 JSON 且严格匹配格式
VSCode 对这个文件极其敏感:多一个空格、少一个引号、用了中文标点、带 BOM、写成 zh_CN 或 zh-hans,都会直接忽略整份配置,静默退回英文,不报错也不提示。
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
- 唯一合法内容(仅一行):
{"locale":"zh-cn"} - 必须小写、短横线、双引号为英文半角、无注释、无尾逗号、无额外空格
- 不能写成:
{"locale": "zh-cn"}(引号后有空格)、{"locale":"zh_CN"}、{"locale":"zh-cn",}、{locale:"zh-cn"} - 用记事本或 VS Code 自身保存时,务必选「UTF-8 无 BOM」编码;Sublime Text / Notepad++ 默认可能带 BOM,会失效
改完必须彻底重启,而不是重载窗口
Developer: Reload Window 不会重读 locale.json,它只刷新 UI 渲染层,语言环境仍沿用旧进程缓存。只有完全退出再启动,才能触发新 locale 加载。
- 关闭所有 VS Code 窗口,包括托盘图标(Windows)或菜单栏右上角小图标(macOS)
- 检查后台进程是否残留:
Windows:任务管理器中杀掉全部Code.exe
macOS:活动监视器中结束Code Helper和Electron相关进程
Linux:运行pkill -f "Code Helper\|Electron" - 全新启动(双击图标或终端输入
code),右下角状态栏会显示当前语言代码(如zh-cn),点击它可快速切换验证
命令面板搜不到 Configure Display Language?优先查语言包和版本
该命令在 VS Code v1.89+ 中已更名为 Preferences: Configure Language,但底层逻辑不变。搜不到或列表为空,大概率不是命令名输错,而是语言包未就绪。
- 必须安装 Microsoft 官方插件:
Chinese (Simplified) Language Pack for Visual Studio Code,ID 是ms-ceintl.vscode-language-pack-zh-hans - v1.89+ 要求语言包版本 ≥
1.89.2026052801,旧版会被静默跳过;可在扩展页点「卸载 → 重新安装」强制更新 - 若已装但命令仍不可见,运行
code --log=trace启动,打开输出面板 → Log (Window),搜索resolved locale,看是否输出zh-cn或报错no language pack found - 远程开发(SSH / Dev Containers)需在**远程窗口内**再次执行该命令,本地配置不影响远程端 UI
真正容易被忽略的是:locale.json 生效只影响主窗口 UI(菜单、设置页、侧边栏 hover 文字),终端、调试控制台、Git 输出、部分插件 WebView 页面默认不继承该设置——这不是配置失败,是 Electron 子进程隔离设计所致。










