右键菜单、终端标题、状态栏文字仍为英文,是因为这些元素由electron底层或操作系统直接提供,非vscode主ui框架渲染,语言包无法覆盖;如copy path、terminal标签、utf-8/crlf等属硬编码或技术缩写,微软仅在1.80+版本逐步本地化部分右键项,终端标题栏不可改,但可关闭标签页启用侧边栏视图以走本地化逻辑;命令面板命令名是否中文取决于命令提供者是否适配多语言,需确认vscode.env.language返回"zh-cn"并为gitlens等扩展单独配置语言字段;settings.json中"locale"字段自1.70版起已被弃用,唯一有效路径是用户级locale.json文件,内容严格为{"locale":"zh-cn"},且必须彻底退出所有vscode进程后重启才生效。

为什么右键菜单、终端标题、状态栏部分文字仍是英文?
这些位置不是 VSCode 主 UI 框架渲染的,而是由底层 Electron 或操作系统直接提供,语言包无法覆盖。比如右键菜单里的 Copy Path、Reveal in Explorer,终端标签页显示的 Terminal,状态栏右下角的 UTF-8、CRLF 等——它们属于硬编码字符串或系统级控件,微软只在 1.80+ 版本中逐步本地化了其中一部分。
常见表现:
- 升级到最新版 VSCode(≥1.85)可解决大部分右键项汉化问题
-
Terminal标题栏无法改中文,但可通过设置"terminal.integrated.tabs.enabled": false关闭标签页,改用侧边栏视图,此时标题走 VSCode 本地化逻辑 -
UTF-8、CRLF这类编码/换行标识是技术缩写,官方未做翻译,也不建议强行替换(可能影响功能识别)
命令面板(Ctrl+Shift+P)里命令名还是英文?
命令面板显示的是命令注册时的 title 字段,是否中文取决于该命令的提供者是否做了多语言适配。VSCode 官方内置命令(如 workbench.action.terminal.toggleTerminal)基本已汉化,但大量第三方扩展(尤其小众或未维护的)仍返回英文字符串。
排查方法:
- 打开开发者工具(
Developer: Toggle Developer Tools),执行vscode.env.language,确认返回"zh-cn" - 在命令面板中搜关键词(如
format、git),看是否出现中文提示;若没有,大概率是对应扩展未实现本地化 - 对主流扩展(如
GitLens、Prettier),需在settings.json中显式配置语言字段:"gitlens.language": "zh-cn"、"prettier.locale": "zh-cn"
settings.json 里写 "locale": "zh-cn" 有用吗?
没用,而且容易引发问题。VSCode 自 1.70 版本起就不再读取 settings.json 中的 locale 字段,它已被正式弃用。如果你手动加了这一项,不仅无效,还可能干扰 locale.json 的加载优先级,导致语言回退到英文。
唯一合法路径是用户级 locale.json 文件,内容必须严格为:
{"locale":"zh-cn"}
注意:
- 不能写成
zh-CN、zh_CN或zh - 不能有多余空格、逗号、中文引号
- 文件必须放在正确路径:
%APPDATA%\Code\User\locale.json(Windows)、~/Library/Application Support/Code/User/locale.json(macOS)、~/.config/Code/User/locale.json(Linux)
重启后又变英文,是不是缓存没清?
不是缓存问题,是进程没真正退出。VSCode 启动时会读取语言配置一次,之后不会动态重载。如果托盘图标还在、Dock 图标没消失、或终端里 ps aux | grep code 还有残留进程,新 locale.json 就不会生效。
务必执行:
- Windows/macOS:右键托盘图标 →
Quit - Linux/macOS 终端:
killall -9 code - 再启动 VSCode —— 不是“重载窗口”,是全新进程
- 如果开了 Settings Sync,先关掉再试,否则云端旧配置(比如
{"locale":"en"})会秒级覆盖本地修改
最常被忽略的是工作区目录下误建的 .vscode/locale.json:VSCode 1.70+ 完全不读这个路径,改了等于白改。











