VSCode菜单半中半英是因UI翻译分层:官方语言包仅覆盖核心界面(如顶部菜单、设置面板),右键菜单、终端标题、GitLens按钮等由Electron或扩展自主提供,locale.json无效;需用Chinese Menu插件补右键汉化,并为GitLens等单独配置语言选项。

为什么设置中文后菜单还是半中半英?
不是语言包没装好,也不是插件冲突——根本原因是 VSCode 的 UI 翻译分层加载:主界面(侧边栏、顶部菜单、设置面板)走 locale.json 控制的 NLS 资源,而右键菜单、资源管理器上下文项、GitLens 按钮等由 Electron 底层或扩展自己提供,locale.json 压根不生效。你看到的“半中半英”,其实是不同模块各自加载了不同来源的文本。
哪些菜单能被官方语言包覆盖?哪些不能?
能被 ms-ceintl.vscode-language-pack-zh-hans 覆盖的,仅限 VSCode 核心 UI:File、Edit、View 顶级菜单,Settings、Extensions 面板标题,弹窗按钮如 OK/Cancel。不能覆盖的包括:
-
Copy Path、Reveal in Explorer等右键菜单项(来自 VSCode 源码硬编码,1.80+ 版本已大部分本地化,旧版需升级) - 终端标签页显示的
Terminal字样(Electron 窗口标题模板,VSCode 无法接管) - GitLens 的
Compare with Branch、Prettier 的Format Document按钮(扩展自身未注入中文资源) - 调试控制台里 Node.js 报错的
ReferenceError: x is not defined(运行时环境语言,取决于系统LANG)
清理缓存真能刷新菜单翻译吗?
能,但只对部分场景有效:缓存损坏会导致 NLS 资源加载失败,表现为本该汉化的区域变英文。清理重点不是 Cache,而是以下三类:
- 删掉
%APPDATA%\Code\User\locale.json(Windows)或~/Library/Application Support/Code/User/locale.json(macOS),强制重载语言配置 - 删
%APPDATA%\Code\Cache和%APPDATA%\Code\GPUCache(Windows),它们缓存的是 UI 渲染资源,含部分翻译映射表 - 删
~/.vscode/extensions/*-cache目录(所有平台),避免 GitLens、ESLint 等扩展因缓存损坏加载英文资源
删完必须彻底退出所有 Code.exe / code 进程(任务管理器或 pkill -f code),否则新配置不生效。
补全右键和扩展菜单的实操方案
想让右键菜单也中文,得靠社区插件补位,不是清缓存能解决的:
- 装
shengchen.vscode-chinese-menu,专治右键、编辑器上下文、资源管理器快捷菜单;装完不用重启,但要关掉再打开右键才能刷新缓存 - GitLens 中文需在
settings.json显式加"gitlens.language": "zh-cn" - ESLint 错误提示想中文,得换用支持 i18n 的 LSP 客户端,或装
eslint-plugin-i18n,单纯改 VSCode 语言无效 - 别同时启用多个菜单汉化插件,比如
Chinese Menu和Chinese UI,会互相覆盖导致某些条目消失
真正难补的不是菜单文字,而是嵌在 WebView 或自定义 Editor 里的界面——它们走网页渲染,翻译得靠插件自己实现,VSCode 层面无解。


















