vscode 设置中文首选语言的核心是确保用户数据目录下的 user/locale.json 文件存在且内容为 {"locale":"zh-cn"},并彻底重启;其他操作均为辅助或验证手段。

VSCode 设置中文为首选语言,核心就一条:确保 locale.json 文件存在且内容为 {"locale":"zh-cn"},并完成彻底重启。其他所有操作——装插件、改 settings.json、点右下角状态栏——都只是辅助或验证手段,不能绕过这个文件。
为什么 Configure Display Language 命令是首选入口
这个命令不是“可选步骤”,而是 VS Code 官方唯一推荐的触发机制,它会自动做三件事:检查是否已安装 Chinese (Simplified) Language Pack for Visual Studio Code(发布者必须是 Microsoft)、定位到正确的用户级 locale.json 路径、写入合法 JSON 并确保编码无 BOM。
- 手动编辑
locale.json也能生效,但容易写错路径(比如误放到.vscode/工作区目录下)或保存成带 BOM 的 UTF-8 - 在
settings.json里加"locale": "zh-cn"完全无效——VS Code 1.70+ 版本已废弃该字段,不会报错,也不会读取 - 命令面板里输入时别拼错:
Configure Display Language,不是Configure Language或Set Locale
locale.json 文件必须满足的硬性条件
哪怕只有一处不满足,VS Code 就会静默回退到英文界面,且不提示任何错误。
- 路径必须是用户数据目录下的
User/locale.json:
– Windows:%APPDATA%\Code\User\locale.json
– macOS:$HOME/Library/Application Support/Code/User/locale.json
– Linux:$HOME/.config/Code/User/locale.json - 文件名必须是
locale.json,不能是locale.txt、locale.json.bak或Locale.json(大小写敏感) - 内容必须严格为:
{"locale":"zh-cn"}—— 小写zh-cn,双引号,无多余逗号或空格,无注释 - 编码必须是 UTF-8 无 BOM;用 VS Code 自己新建并保存该文件,能天然规避 BOM 问题
Remote-SSH / WSL 环境下中文不生效?那是两个独立实例
你在本地设好了 locale.json,连上远程机器后仍是英文,不是配置错了,而是 Remote-SSH 和 WSL 启动的是另一个 VS Code Server 实例,它读取的是远程机器上的配置,和本地完全无关。
- Remote-SSH 连接后,按
Ctrl+Shift+P运行Developer: Open User Data Folder,进User/目录新建或编辑locale.json - WSL 中,先在终端执行
code --list-extensions确认 VS Code Server 已启动,再进~/.vscode-server/data/Machine/(路径含哈希后缀)下的User/locale.json - 语言包也得在远程端单独安装,不能指望本地插件同步过去
- 别用
code --locale=zh-cn启动远程窗口——该参数只影响主进程,子进程(如终端、调试器)语言上下文常不一致
改完还是英文?先杀干净再开
最常被忽略的其实是“没关干净”。VS Code 后台常驻 Code Helper 或 Code.exe 进程,它们会缓存旧语言环境,新窗口一启动就复用,看起来像配置失效。
- Windows:打开任务管理器,结束所有
Code.exe和Code Helper进程 - macOS:活动监视器里搜索
Electron或Code,强制退出全部相关进程 - Linux:运行
pkill -f 'code'清理残留 - 重启后,右下角状态栏应显示
zh-cn;若仍显示en,说明locale.json没被读到,优先检查路径和文件名











