必须手动执行configure display language并重启才能启用中文界面,语言包仅提供翻译素材,不自动激活;locale.json路径和格式须严格正确;菜单无响应多因插件冲突而非汉化问题。

装了中文语言包但界面还是英文,甚至点菜单都没反应——不是插件坏了,是 VS Code 根本没“决定”用它。语言包只是翻译素材库,Configure Display Language 才是唯一能激活中文的开关。
为什么 Configure Display Language 必须手动执行
VS Code 不会根据插件安装状态自动切换语言。即使你装了 ms-ceintl.vscode-language-pack-zh-hans,只要没运行 Configure Display Language,它就只当那是一堆没被调用的 JSON 文件。
- 快捷键
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 必须输入完整命令名:
Configure Display Language,不是 “change language” 或 “set locale” - 在下拉列表中明确选
zh-cn(不是zh、zh-TW或zh-hans) - 弹出提示后,必须点 Restart —— 仅关闭再手动打开,
Code Helper进程仍在后台,配置不会加载
locale.json 文件内容或路径错了
VS Code 启动时只读这个文件:%APPDATA%\Code\User\locale.json(Windows)、~/Library/Application Support/Code/User/locale.json(macOS)、~/.config/Code/User/locale.json(Linux)。其他地方写的 "locale" 都无效。
- 合法内容只能是:
{"locale":"zh-cn"}—— 双引号、小写、无多余空格或逗号 - 如果文件存在但值是
"en"或为空,说明被工作区设置、远程开发环境或 IT 策略覆盖 - 临时关闭当前文件夹(
File > Close Folder),再运行Configure Display Language,可绕过干扰 - 别手动生成该文件:VS Code 必须自己写入,否则可能被忽略
点了菜单却没反应?不是汉化问题,是插件崩了
中文包本身不监听点击事件,所有“点不动”现象都来自第三方插件对 Extension Host 的干扰——比如某个插件在启动时卡死、崩溃,导致整个 UI 命令链断掉。
- 先验证是不是插件问题:终端执行
code --disable-extensions启动,如果此时中文显示正常、菜单可点,问题就在插件层 - 用内置二分法定位:
Ctrl+Shift+P→ 输入并运行Developer: Start Extension Bisect - 每轮启用一半插件,测试“打开 .js 文件 → 点菜单 → 右键”,直到某轮出现
Extension host terminated报错 - 打开开发者工具(
Ctrl+Shift+I),切到 Console 标签页,搜Activating extension或Cannot read property,看哪条报错最先出现
缓存残留或系统区域设置劫持
即使配置全对,部分菜单仍英文,大概率是旧缓存没清干净,或者系统底层语言设置强制覆盖了 VS Code 的启动逻辑。
- 关掉所有 VS Code 进程后,删掉缓存目录:
~/.vscode/.extensions-tmp(Linux/macOS)或%USERPROFILE%\.vscode\.extensions-tmp(Windows) - 检查系统区域设置:Windows 控制面板 → 区域 → 管理 → 更改系统区域设置,是否启用了“Beta: 使用 Unicode UTF-8 提供全球语言支持”?启用后可能导致本地化链路异常
- 某些企业环境通过组策略(GPO)强制锁定
locale,此时需联系 IT 管理员确认策略是否生效
最容易被忽略的点是:语言切换和插件启用是两套完全独立的机制。禁用所有插件后,只要没运行 Configure Display Language 并重启,中文就不会出现——这不是 Bug,是设计如此。











