必须执行configure display language命令并选zh-cn,否则插件无效;该命令自动生成严格格式的locale.json文件,路径和内容错误或手动创建均导致静默失败,且新版vs code已弃用settings.json设置方式。

locale.json 无法自动生成,根本不是插件或网络问题,而是 VS Code 没真正获得写入权限或命令没走通底层流程。 它不报错、不弹窗、不提示失败,只默默跳过——你看到“已保存”提示,文件却纹丝不动,就是典型表现。
Configure Display Language 命令无反应或弹空列表
这不是命令失效,而是前置条件未满足。VS Code 在执行该命令前会校验两件事:中文语言包是否已安装、用户数据目录是否可写。任一失败都会导致命令面板里选中后无响应或列表为空。
- 检查扩展面板(
Ctrl+Shift+X)中是否存在ms-ceintl.vscode-language-pack-zh-hans(发布者必须是Microsoft),名字带 “Chinese Language Pack” 但发布者非 Microsoft 的包不被识别 - Windows 下若 VS Code 安装在
C:\Program Files\且从未提权运行过,%APPDATA%\Code\User\目录可能因权限继承问题不可写;macOS/Linux 下执行ls -la ~/.config/Code/User/,确认当前用户对目录有rw-权限,而非root所有 - 若曾用
sudo code启动过,极大概率导致整个User目录归属变为root,此时必须运行sudo chown -R $USER:$USER ~/.config/Code/User(Linux/macOS)或手动属性改所有权(Windows)
命令点了 zh-cn 却没生成 locale.json 文件
VS Code 不会在命令执行后立即写入文件——它依赖一次“干净的退出 + 重启”来触发持久化。只要后台进程(如 Code Helper、托盘图标、Remote-SSH 服务)仍在运行,locale.json 就不会落地。
详细的 Three.js 3D 图形参考,涵盖场景设置、相机、几何体、材质、光照、动画、控制器、加载器、数学工具和调试。
- Windows:打开任务管理器 → 结束所有名为
Code.exe和Code Helper.exe的进程 - macOS/Linux:终端执行
killall -u $USER code或更彻底的pkill -f 'code.*--.*' - 特别注意 Remote-SSH 场景:即使本地关了,远程服务器上的
code-server进程可能还在,需登录远程后运行killall code - 做完上述清理后,再双击图标启动 VS Code,此时首次运行
Configure Display Language才会真正创建locale.json
手动创建 locale.json 仍无效的硬核排查点
文件存在 ≠ 配置生效。VS Code 对这个文件的内容、编码、路径三者都极其敏感,任意一项出错即静默回退英文。
- 路径必须严格匹配:
%APPDATA%\Code\User\locale.json(Windows)、$HOME/Library/Application Support/Code/User/locale.json(macOS)、$HOME/.config/Code/User/locale.json(Linux)——少一个User或多一层.vscode都无效 - 内容只能是这一行:
{"locale":"zh-cn"}(无空格、无换行、无注释、无逗号、双引号为英文、zh-cn全小写连字符) - 编码必须是 UTF-8 无 BOM:用 VS Code 自身新建文件 → 左下角点击编码名 → 选 “Save with Encoding” → 选 “UTF-8”(不是 “UTF-8 with BOM”)→ 保存
- 文件权限不能是只读:Linux/macOS 下运行
chmod 600 ~/.config/Code/User/locale.json;Windows 下右键属性 → 取消勾选“只读”
工作区或远程环境劫持了 locale 设置
即使用户级 locale.json 正确,也挡不住更高优先级的覆盖。VS Code 的语言设置优先级顺序是:启动参数 > 工作区 .vscode/settings.json > 用户 locale.json。
- 检查当前项目根目录下是否有
.vscode/settings.json,打开后搜索"locale"—— 若存在且值为"en"或"zh-cn",它会强制覆盖用户设置 - 关闭当前文件夹(
File > Close Folder),再执行Configure Display Language,看是否能生效;若可以,说明就是工作区配置在捣鬼 - Remote-SSH / WSL 场景下,本地的
locale.json对远程窗口完全无效。必须登录远程机器,在其对应路径(如~/.config/Code/User/locale.json)里单独创建并写入 - 启动方式也会覆盖:如果快捷方式目标是
"C:\...\Code.exe" --locale=en,或终端 alias 里写了alias code='code --locale=en',那每次启动都强制英文
最常被忽略的是:你以为自己在“修复配置”,其实只是在和残留进程、错误路径、BOM 编码、跨层覆盖反复拉扯。真正起效的永远不是“多试几次命令”,而是先确保进程清空、路径精准、内容干净、权限到位——这四点卡住任意一个,locale.json 就永远不会出现。










