快捷键提示仍为英文是因为vscode官方语言包仅翻译ui框架层,命令面板等处的文本取决于命令提供者是否本地化;需确认vscode.env.language返回"zh-cn",检查命令是否由微软或支持中文的扩展提供,并避免在settings.json中误写已弃用的"locale"字段。

快捷键提示(如 Ctrl+P 弹窗里的文字)为什么还是英文?
VSCode 的快捷键提示(比如 Ctrl+Shift+P 打开的命令面板、Ctrl+Space 触发的补全建议、F1 命令列表)显示的是命令本身的「注册名」或「描述文本」,这些内容由命令提供者决定。官方语言包只翻译 UI 框架层(菜单、设置页、侧边栏标题等),但不强制重写所有扩展或内置命令的原始描述字段。
真正起作用的是命令注册时声明的 title 和 category 字段是否已本地化——只有微软官方维护的命令(如 workbench.action.terminal.toggleTerminal)和部分主流扩展(如 GitLens、ESLint)才做了多语言适配;大量第三方命令仍硬编码英文字符串。
如何让命令面板和快捷键提示变中文?
核心是确认命令来源是否支持 zh-cn 本地化,并确保其语言配置被正确读取:
- 打开命令面板(
Ctrl+Shift+P),输入Developer: Toggle Developer Tools,切换到 Console 标签页,执行vscode.env.language—— 确认返回值是"zh-cn",否则说明语言环境未生效 - 检查该命令是否属于 VSCode 内置功能:在命令面板中搜索关键词(如 “terminal”、“format”),看提示文字是否已汉化;若没变,大概率是该命令尚未被微软本地化(常见于较新 API 或实验性功能)
- 对 GitLens、Prettier、ESLint 等扩展,需在
settings.json中显式指定语言选项:"gitlens.language": "zh-cn"、"prettier.locale": "zh-cn"(注意不同扩展字段名不同) - 某些命令(如调试器中的
Debug: Toggle Breakpoint)虽有中文翻译,但快捷键旁的括号提示(如(Ctrl+F9))仍保留英文描述——这是 Electron 渲染限制,无法通过配置修复
settings.json 里加 "locale": "zh-cn" 有用吗?
没用,而且可能有害。
settings.json 中的 "locale" 字段已被弃用多年,VSCode 从 1.70 版本起就不再读取它;如果你手动加了这一项,不仅无效,还可能干扰 locale.json 的优先级判断,导致语言回退。
唯一合法且有效的语言配置路径只有:locale.json 文件(路径见下文),且内容必须严格为:
{"locale":"zh-cn"}——不能多空格、不能少引号、不能写成 zh-CN 或 zh。
为什么重启后命令面板偶尔又变英文?
这不是缓存问题,而是进程残留导致的语言环境未重载:
- Windows/macOS:右键系统托盘图标 → “Quit”,不要只关窗口;Linux 执行
killall -9 code彻底杀掉所有 Code 进程 - 检查是否有多个 VSCode 实例在后台运行(比如 WSL 窗口、远程 SSH 窗口、Dev Container),任一实例未退出都可能导致 locale.json 被旧进程锁定或覆盖
- 企业环境或策略组管理的机器上,
locale.json可能被组策略脚本定时重置,此时需联系 IT 部门确认策略白名单
真正难处理的不是“怎么切中文”,而是“谁在悄悄改回去”——尤其是那些你没意识到正在运行的远程窗口或后台服务。











