vs code 界面语言切换依赖 locale.json 文件而非插件,该文件须置于用户数据目录 user 子目录下、内容为严格单行 json(如{"locale":"zh-cn"})、编码为 utf-8 无 bom,并需彻底重启进程方可生效。

VS Code 界面语言不依赖插件也能生效,但前提是 locale.json 文件存在、路径正确、内容合法,且 VS Code 进程彻底重启——装了中文语言包只是“提供翻译资源”,而 locale.json 才是真正触发界面语言切换的开关。
locale.json 文件必须放在用户数据目录的 User 子目录下
VS Code 只读取特定路径下的 locale.json,放错位置等于没写。它不认工作区里的 .vscode/locale.json,也不读 settings.json 里的 "locale" 字段。
- Windows:
%APPDATA%\Code\User\locale.json(即C:\Users\用户名\AppData\Roaming\Code\User\locale.json) - macOS:
~/Library/Application Support/Code/User/locale.json - Linux:
~/.config/Code/User/locale.json
用 VS Code 自己打开该路径最稳:按 Ctrl+Shift+P → 输入 Developer: Open User Data Folder → 进入 User 目录新建或编辑 locale.json。
文件内容必须是严格合法的单行 JSON
VS Code 对 locale.json 的格式极其敏感,任何多余字符都会导致静默失败——界面照旧英文,还不报错。
- 只允许一行内容:
{"locale":"zh-cn"}(注意双引号、小写、短横线、无空格、无逗号、无换行) - 不能写成
zh_CN、zh-hans、Chinese或ZH-CN,这些全无效 - 编码必须是 UTF-8 无 BOM;用记事本保存易带 BOM,建议用 VS Code 或 Notepad++ 新建并另存为 UTF-8(无签名)
- 如果文件已存在且含其他字段(比如
{"locale":"zh-cn","someOther":"value"}),整个文件会被忽略
重启必须彻底,否则配置不加载
Reload Window 不会重读 locale.json,它只刷新前端 UI 层,语言上下文仍沿用旧进程。只有全新启动才能让 Electron 主进程重新解析该文件。
- Windows:任务管理器中结束所有
Code.exe进程(包括后台的Code Helper (Renderer)) - macOS:活动监视器里杀掉全部
Electron和Code Helper进程 - Linux:执行
pkill -f "code.*--no-sandbox"或手动查杀code相关进程 - 验证是否成功:启动后右下角状态栏应显示
zh-cn,点击它可快速确认当前 locale 值
Remote-SSH 或 WSL 环境下,本地的 locale.json 对远程实例完全无效——远程端需单独配置对应路径下的 locale.json,且语言包也得在远程安装。终端、调试控制台、Git 输出保持英文不是配置失败,而是它们走各自独立的语言环境,和主界面 locale 无关。











