vscode设置中文界面必须将locale.json文件置于用户数据目录的user子目录下,路径严格对应系统:windows为%appdata%\code\user\locale.json,macos为~/library/application support/code/user/locale.json,linux为~/.config/code/user/locale.json;文件名全小写、内容仅一行合法json{"locale":"zh-cn"}、utf-8无bom编码,且需彻底退出进程后重启。

locale.json 文件必须放在用户数据目录的 User/ 子目录下
VS Code 只读取特定路径下的 locale.json,放错位置等于没写。它不认工作区里的 .vscode/locale.json,也不读系统级或安装目录下的同名文件。
- 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
路径中 User 是关键词,大小写敏感;locale.json 必须全小写,不能是 Locale.json 或 locale.txt。
内容格式只允许严格的一行合法 JSON
locale.json 不是 settings.json,不支持注释、多字段、缩进或额外空格。VS Code 遇到任何格式偏差就静默忽略整个文件,回退英文界面,且不报错。
- ✅ 正确写法:
{"locale":"zh-cn"}(双引号、英文冒号和逗号、小写zh-cn) - ❌ 错误示例:
{"locale": "zh-cn",}(末尾逗号)、{'locale':'zh-cn'}(单引号)、{"locale": "ZH-CN"}(大写或下划线) - 编码必须是 UTF-8 无 BOM —— 用 VS Code 自己新建并保存该文件,能天然规避 BOM 问题
改完必须彻底退出再重开,后台进程残留会导致配置不加载
点「关闭窗口」不等于退出进程。VS Code 常驻托盘或后台,继续读旧配置。此时你改了 locale.json 也白搭。
- Windows:打开任务管理器 → 结束所有
Code.exe进程 - macOS:活动监视器 → 搜索并结束
Electron和Code Helper - Linux:终端执行
pkill -f "code.*--no-sandbox"或手动查杀code相关进程 - 重开后,右下角状态栏会显示当前语言代码(如
zh-cn),这是最直接的生效标志
Remote-SSH / WSL 环境下 locale.json 要单独配
你在本地配好了 locale.json,连上 Remote-SSH 或 WSL 后仍是英文?不是配置错了,而是远程端运行的是另一个 VS Code Server 实例,它读的是远程机器上的配置,和本地完全隔离。
- Remote-SSH:连接后按
Ctrl+Shift+P→ 运行Developer: Open User Data Folder→ 进入User/目录编辑或新建locale.json - WSL:先在终端运行
code --list-extensions确保 Server 已启动,再进~/.vscode-server/data/Machine/{哈希目录}/User/locale.json - 远程端的语言包也得单独安装,本地插件不会自动同步过去
locale.json 变 —— 它们走各自独立的本地化逻辑,不是汉化失败。盯住顶部菜单栏、左侧活动栏 hover 文字、设置里搜 locale 看值是否为 zh-cn,这三处对了,就是真生效。











