vscode默认不生成locale.json,界面必为英文;该文件需通过configure display language命令或手动创建,路径、内容({"locale":"zh-cn"})、编码(utf-8无bom)及远程配置均须严格正确。

VSCode 默认不生成 locale.json 文件,它只在你执行 Configure Display Language 命令或手动创建时才存在——没这个文件,界面就必然显示英文,这是正常行为,不是损坏或遗漏。
为什么 Configure Display Language 命令也没生成 locale.json
这个命令本该自动创建文件,但以下情况会导致它静默失败:
- 中文语言包未安装:命令执行时检测不到
ms-ceintl.vscode-language-pack-zh-hans,就不会写入,也不会报错,只是弹空列表或直接退出 - 用户数据目录不可写:Windows 上装在
C:\Program Files、macOS/Linux 下曾用sudo code启动过,导致~/.config/Code/User/或对应路径权限被锁死 - VSCode 进程残留:托盘图标还在、Remote-SSH 会话未断、WSL 中的 Code Helper 进程活着,命令看似执行了,实际没真正写入
手动创建 locale.json 的硬性要求
别依赖命令,直接建文件更稳,但必须满足全部条件,缺一不可:
Miller (mlr) 是一个命令行工具,用于查询、整形和重新格式化名称索引数据,如 CSV、TSV、JSON 和 JSON Lines。它将 awk、sed、cut、join 和 sort 的功能整合到一个专为结构化数据处理而构建的单一工具中。
- 路径严格对应系统:
%APPDATA%\Code\User\locale.json(Windows)、~/Library/Application Support/Code/User/locale.json(macOS)、~/.config/Code/User/locale.json(Linux) - 内容只能是严格一行:
{"locale":"zh-cn"}(双引号、小写、短横线、无空格、无注释、无 BOM) - 不能用记事本或 Sublime Text 直接保存——它们默认加 BOM 或用 GBK 编码;必须用 VS Code 自己新建并选“UTF-8 无 BOM”保存
远程开发(WSL / Remote-SSH)下 locale.json 依然不存在
本地创建毫无作用,因为 Remote-SSH 和 WSL 启动的是独立的 VS Code Server 实例,它读的是远程机器上的路径:
- 连上远程后,在终端运行:
code --list-extensions确认服务已启动 - 进入远程路径:
~/.vscode-server/data/Machine/abc123/(abc123是实际哈希名) - 在此目录下新建
locale.json,内容仍是:{"locale":"zh-cn"} - 保存后,在**远程窗口内**执行
Developer: Reload Window(不是本地窗口)
最常被忽略的是:文件存在但格式错一个字符,VSCode 就直接忽略它,退回到英文——它不会提示错误,也不会 fallback 到 settings.json,就是沉默。










