必须通过configure display language命令生成并写入用户级locale.json(如%appdata%\code\user\locale.json),再reload window;settings.json中"locale"字段已弃用,手动改路径错误或环境变量干扰均会导致失效。

改了 locale.json 没反应,不是配置写错了,而是 VS Code 根本没读到你改的这个文件——它只在启动时加载一次,且只认用户级目录下的那个。
确认 locale.json 是否在正确路径
VS Code 启动时只读取用户数据目录下的 locale.json,其他位置(如工作区 .vscode/locale.json、系统安装目录、~/.vscode/locales/)全无效。
- Windows:检查
%APPDATA%\Code\User\locale.json(不是%USERPROFILE%\.vscode\) - macOS:检查
~/Library/Application Support/Code/User/locale.json - Linux:
~/.config/Code/User/locale.json - 如果文件不存在,别手动创建——必须由
Configure Display Language命令生成,否则路径或权限可能出错
执行 Configure Display Language 命令才是唯一可靠入口
这个命令不只是打开文件,它会自动校验语言包是否已安装、生成合法 locale.json、确保字段名和值格式严格匹配(比如 "zh-cn",不是 "zh_CN" 或 "zh")。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入
Configure Display Language,选中并回车 - 从下拉列表选
zh-cn(注意是短横线,小写,无空格) - 若提示“未安装语言包”,点
Install,装完再执行一次该命令
重启窗口 ≠ 刷新页面 ≠ 关闭重开
VS Code 的语言切换只在进程启动时读取 locale.json,所以必须触发完整重启流程,且不能被环境变量干扰。
- 看到弹窗提示后,点
Reload Window(不是Ctrl+R,也不是关掉再双击图标) - 如果点了
Reload Window仍是英文,立刻检查终端是否设置了VSCODE_LANG或LC_ALL—— 这些环境变量会强制覆盖locale.json - Remote-SSH / WSL 用户:必须在远程环境中也执行一遍
Configure Display Language,本地设置对远程窗口无效
为什么直接改 settings.json 里的 "locale": "zh-cn" 不起作用
VS Code 1.70+ 版本已完全移除对 settings.json 中 locale 字段的支持。它不会报错,也不会警告,只是静默忽略这行。
- 你看到的
settings.json里加了"locale": "zh-cn",等于白写 - 搜索设置里出现的 “Locale” 选项是只读的,点不了——那是 UI 层的展示,不是可编辑配置项
- 真正起效的只有
locale.json,且必须由命令触发生成,不能靠手写或复制粘贴
最常被忽略的其实是路径和重启动作:很多人改的是工作区级 .vscode/locale.json,或者点了 Reload Window 但终端里开着带 LC_ALL=en_US.UTF-8 的 shell,结果界面语言被硬顶回英文。动手前先确认当前 VS Code 是从哪启动的、环境变量有没有污染、locale.json 在不在用户目录下——这三个点对了,基本就稳了。











