根本原因是未执行Configure Display Language命令并选择zh-cn后重启;该命令是唯一能正确生成locale.json并启用中文的入口,插件仅提供翻译资源,不自动激活语言。

Configure Display Language 命令没执行或选错值
装完 Chinese (Simplified) Language Pack for Visual Studio Code 后界面仍是英文,90% 是因为跳过了 Configure Display Language 这一步。插件只提供翻译资源,不自动激活——它不会改任何配置,也不会触发语言切换。
常见错误包括:
- 只点「Install」就关闭插件页,以为完成
- 在设置里搜“language”误改了
editor.language(那是控制语法高亮的,和界面语言无关) - 用
Developer: Reload Window替代重启——它不重载语言环境,右下角状态栏仍显示en
正确做法:按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入完整命令名 Configure Display Language,回车后从列表中**明确点击 zh-cn**(不是“简体中文”文字项,也不是 zh 或 zh-TW),然后点提示框里的 Restart 按钮。
locale.json 路径或内容格式错误
VS Code 1.70+ 版本已弃用 settings.json 中的 locale 字段。你加了它,VS Code 启动时既不报错也不读取,静默忽略。真正生效的是独立的 locale.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"}(注意:双引号、小写、短横线;不能是 zh_CN、zh-hans、zh-cn 漏引号,也不能带注释或多字段)。
手动编辑极易出错;推荐永远用 Configure Display Language 命令生成——它能自动校验路径、格式、权限。
远程开发(Remote-SSH / WSL)需单独配 locale.json
本地设成中文,远程窗口还是英文?这不是 bug,是 Remote-SSH 和 WSL 启动的是独立的 VS Code Server 实例,它读取的是远程机器上的 locale.json,和本地完全无关。
实操步骤:
- 在远程终端中确认 Server 已启动:
code --list-extensions - 进入路径:
~/.vscode-server/data/Machine/(后面可能带哈希后缀),在此目录下新建或编辑locale.json - 文件内容仅一行:
{"locale": "zh-cn"},编码必须为 UTF-8 无 BOM(用 VS Code 自己新建保存最稳妥) - 改完后,在远程窗口执行
Developer: Reload Window(不是 reload 本地窗口)
注意:远程端不需要安装语言包,只靠这个 locale.json 就能加载本地已有的翻译资源。
TypeScript 悬停/Problems 面板仍是英文?需单独配 typescript.locale
菜单、设置页变中文了,但悬停看类型、Problems 面板里的报错还是英文——这大概率不是插件没装好,而是 TypeScript Server 没同步语言设置。
VS Code 界面语言和语言服务(如 TS、ESLint)的提示语言是两套独立机制:locale 控制界面,typescript.locale 才控制 TS 报错文本。即使你设了 "locale": "zh-cn",TS Server 默认仍按系统 locale 启动。
解决方法:
- 打开设置(
Ctrl+,),搜索typescript locale,下拉选zh-cn - 按
Ctrl+Shift+P输入并执行Developer: Restart TS Server(不是重启窗口) - 验证:新建一个
.ts文件,写consol.log(1),悬停或看Problems面板是否出现「无法找到名称“consol”」
注意:Problems 面板是聚合器,不同来源决定各自语言:TypeScript 可汉化,ESLint 官方插件目前无中文翻译,Volar/Pylance 则各自实现——看到混合语言提示,是正常现象,不是配置失败。


















