Configure Display Language 是唯一官方支持的语言切换入口,需手动执行;安装中文语言包后必须通过该命令激活,它会自动生成或修正用户级 locale.json 文件(内容为 {"locale": "zh-cn"}),settings.json 中设置 locale 无效,Remote-SSH/WSL/Containers 需两端均配置才生效。

Configure Display Language 命令必须手动执行
VS Code 不会自动把插件安装和语言切换绑定在一起。装完 Chinese (Simplified) Language Pack for Visual Studio Code 后,界面仍英文,不是插件没装好,而是没走“激活”这一步——Configure Display Language 是唯一官方支持的语言切换入口,它会自动生成或修正 locale.json,避免路径、格式、权限等手误。
常见错误包括:
- 看到插件安装完成弹窗,点了「Install」就关掉,没点后续的「Change and Restart」
- 在命令面板里输错关键词,比如搜「language setting」或「zh-cn」,实际必须输全称
Configure Display Language - 从下拉列表里点了「简体中文」文字项,但真正生效的是代码标识符
zh-cn(注意是小写、短横线、带引号的字符串) - 点了 Restart 后只关了当前窗口,后台还有
Code.exe(Windows)或Electron(macOS)进程残留,新窗口仍继承旧 locale
locale.json 文件路径和内容必须严格匹配
VS Code 只读取用户级 locale.json,且只认纯 JSON 格式。任何其他位置、文件名偏差或语法错误都会导致静默失败,回退到默认英文。
关键细节:
- Windows 路径:
%APPDATA%\Code\User\locale.json - macOS 路径:
~/Library/Application Support/Code/User/locale.json - Linux 路径:
~/.config/Code/User/locale.json - 文件内容必须是单行合法 JSON:
{"locale": "zh-cn"}(双引号、英文冒号、英文逗号、小写、短横线,不能多空格或换行) - 如果该文件已存在且含其他字段(如
{"locale": "zh-cn", "theme": "dark"}),VS Code 会直接忽略整份配置
settings.json 里加 "locale": "zh-cn" 完全无效
settings.json 是用户设置文件,只管编辑器行为(如缩进、字体、自动保存),不参与 UI 本地化。往里面写 "locale": "zh-cn" 不会产生任何效果,VS Code 启动时根本不读这个字段。
为什么有人会这么试?
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- 被网上过时教程误导,混淆了老版本(v1.20 前)和当前机制
- 在命令面板里搜「locale」,结果跳转到
settings.json,误以为编辑它就能改语言 - 看到
locale.json和settings.json都在 User 目录下,想当然认为功能类似
正确做法:用 Configure Display Language 或手动编辑 locale.json,别碰 settings.json 的 locale 字段。
Remote-SSH / WSL / Containers 场景下汉化要分环境装
如果你通过 Remote-SSH 连服务器、用 WSL 开发、或跑在 Dev Containers 里,VS Code 的 UI 语言由**本地客户端**决定,但远程端的菜单、提示、错误信息是否中文,取决于**远程环境是否也装了语言包 + 配置了 locale**。
典型失效现象:
- 本地 VS Code 是中文,但 Remote-SSH 窗口顶部菜单、命令面板提示仍是英文
- WSL 里打开的文件,右下角状态栏显示「en」,即使本地
locale.json是zh-cn
解决方法:
- 在远程环境中(如 Ubuntu WSL)也安装
Chinese (Simplified) Language Pack for Visual Studio Code - 远程端也要有正确的
locale.json(路径同本地,但位于远程文件系统中) - 重启远程窗口(不是 reload window),确保新 locale 生效
最容易被忽略的是:语言包和 locale 配置都得在两端同时满足,缺一不可。这不是 bug,是 VS Code 分离本地 UI 和远程服务的设计逻辑。

















