vscode界面语言切换应使用内置configure display language命令,该命令会自动写入settings.json中的"locale"字段(如{"locale":"zh-cn"}),而非依赖不存在的locale.json文件;1.30+版本已统一通过此设置控制ui语言,需安装官方中文语言包并完全重启生效。

VSCode 里根本没有 locale.json 这个配置文件
VSCode 不通过 locale.json 切换界面语言——这个文件根本不存在于 VSCode 的配置体系中。网上很多教程提到它,要么是混淆了旧版(如早期 VS Code Insiders 的临时调试方式),要么是把其他工具(比如某些前端 i18n 库)的配置名套用过来了。直接新建或修改 locale.json 完全无效,也找不到对应加载逻辑。
真正生效的是 locale 配置项,写在 settings.json 里
VSCode 从 1.30 版本起统一使用 "locale": "zh-cn" 这一设置控制 UI 语言,必须放在用户或工作区的 settings.json 中:
{
"locale": "zh-cn"
}
-
zh-cn是唯一被官方稳定支持的简体中文标识;zh、zh-CN(大写)、zh_CH等写法均不识别 - 该设置只影响菜单、面板、提示等 UI 文本,不影响文件内容或终端输出
- 修改后需**完全重启 VSCode**(不是重载窗口),否则无变化
- 如果已安装中文语言包扩展(如 “Chinese (Simplified) Language Pack for Visual Studio Code”),此设置才起作用;没装包的话,设了也显示英文
为什么改了 settings.json 还是英文?检查这三个地方
常见失效原因不是配置写错,而是环境或优先级问题:
使用 JSON Schema 验证 JSON 数据,从示例 JSON 生成 schema,并将其转换为 TypeScript 接口、Python 数据类或 Markdown 文档。
- 确认已安装官方中文语言包:打开扩展视图(
Ctrl+Shift+X),搜Chinese (Simplified) Language Pack并启用 - 检查是否被命令行参数覆盖:如果你用终端启动 VSCode(如
code --locale=en),命令行参数优先级高于settings.json - 多配置层级冲突:用户设置(全局)和工作区设置(项目级)都存在
locale时,工作区设置会覆盖用户设置;打开命令面板(Ctrl+Shift+P),输入Preferences: Open Settings (JSON)看清当前编辑的是哪一级
macOS / Linux 下 VSCode 启动器可能忽略 locale 设置
从桌面图标或 Dock 启动 VSCode 时,某些系统环境不会继承 shell 的 locale,导致 settings.json 中的 "locale" 被跳过。临时解决方法:
- macOS:终端执行
open -n -b "com.microsoft.VSCode" --args --locale=zh-cn - Linux:确保桌面启动器(如
code.desktop)的Exec=行包含--locale=zh-cn - 更稳妥的做法:在 VSCode 内打开命令面板,输入
Configure Display Language,选择zh-cn并重启——这条命令会自动写入settings.json并规避路径问题
语言切换本身很简单,但 VSCode 的配置优先级、扩展依赖和启动上下文容易互相干扰。最省事的方式永远是走内置命令 Configure Display Language,而不是手动碰 JSON 文件。










