locale.json必须放在vs code用户数据目录的user子目录下,格式为{"locale":"zh-cn"}且utf-8无bom,需彻底重启进程才生效;remote-ssh/wsl需单独配置远程端locale.json。

locale.json 文件必须放在正确路径下
VS Code 只读取用户数据目录下的 User/locale.json,放错位置等于没写。常见错误包括:误存到工作区 .vscode/ 目录、保存为 locale.txt 或 Locale.json(大小写敏感)、或丢进远程开发的 .vscode-server 子目录里却没同步改远程端。
确认路径是否正确:
- Windows:
%APPDATA%\Code\User\locale.json(即C:\Users\用户名\AppData\Roaming\Code\User\locale.json) - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json
用 VS Code 自己打开该路径(按 Ctrl+Shift+P → 输入 Developer: Open User Data Folder),再新建或编辑 locale.json,能天然避免编码和路径问题。
内容格式必须严格合法
哪怕多一个空格、少一个引号、用了中文标点,VS Code 都会静默忽略该文件,界面继续英文。它不报错,也不提示,只回退到默认 en。
正确写法只有一行,且必须完全匹配:
{"locale":"zh-cn"}
关键细节:
Miller (mlr) 是一个命令行工具,用于查询、整形和重新格式化名称索引数据,如 CSV、TSV、JSON 和 JSON Lines。它将 awk、sed、cut、join 和 sort 的功能整合到一个专为结构化数据处理而构建的单一工具中。
-
zh-cn必须全小写、短横线连接,zh_CN、zh-hans、Chinese全无效 - 双引号是英文引号,冒号后不能有空格,结尾不能有逗号
- 文件编码必须是 UTF-8 无 BOM —— 用 VS Code 新建并保存,默认就是这个;用记事本保存极易带 BOM
- 不能有任何注释、换行、多余空行
必须彻底重启 VS Code 进程
“重新加载窗口”(Developer: Reload Window)不会重载语言环境,插件界面、命令面板、设置项仍为英文。只有全新启动才能让 locale.json 生效。
操作前务必确认后台无残留进程:
- Windows:打开任务管理器,结束所有
Code.exe进程 - macOS:活动监视器中结束
Electron和Code Helper - Linux:
pkill -f "code.*--no-sandbox"或手动查杀code进程
重启后,右下角状态栏应显示 zh-cn;鼠标悬停左侧活动栏图标、顶部菜单栏文字、设置里搜 locale 看值,三处都中文才算真正生效。
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确保服务已启动,再进~/.vscode-server/data/Machine/xxx-hash-xxx/User/locale.json(路径含哈希后缀) - 远程端的语言包也得单独安装,本地装的不会同步过去
最容易被忽略的是:终端、调试控制台、Git 输出这些地方始终显示英文——它们不走 VS Code 的 locale 设置,而是取决于系统语言或 shell 环境变量。盯住菜单栏、活动栏 hover 文字、设置里 locale 值这三项,才是真实判断依据。










