settings.json中写"locale":"zh-cn"无效,因VS Code 1.70+已彻底移除该字段支持,启动时静默忽略;唯一生效的是用户级locale.json文件,内容必须严格为{"locale":"zh-cn"},路径、编码、大小写任一出错即回退英文界面。

locale.json 是唯一生效的配置文件,settings.json 里写 locale 完全无效;内容必须是 {"locale":"zh-cn"},路径、编码、大小写错一个字,VS Code 就静默回退英文界面。
为什么改 settings.json 里的 locale 没用
VS Code 从 1.70 版本起已彻底移除 settings.json 中的 locale 字段支持。你加了它,VS Code 启动时既不报错也不读取,直接忽略——这不是配置没生效,是这个字段根本不存在了。
- 所有“在设置里搜 locale 改值”的操作都白做
-
settings.json只管功能行为(比如是否自动保存、缩进空格数),不管语言渲染 - 语言切换只依赖独立的
locale.json文件,且只在启动时读一次
locale.json 的路径和内容必须严丝合缝
VS Code 只认用户级 locale.json,且对格式极度敏感。哪怕多一个空格、少一个引号、用了 UTF-8 BOM,都会导致静默失败,右下角状态栏持续显示 en。
- Windows 路径:
%APPDATA%\Code\User\locale.json - macOS 路径:
$HOME/Library/Application Support/Code/User/locale.json - Linux 路径:
$HOME/.config/Code/User/locale.json - 文件内容只能是严格一行:
{"locale":"zh-cn"} - 必须用 VS Code 自己新建并保存该文件(可天然规避 BOM 问题)
- 不能是
locale.txt、Locale.json、.vscode/locale.json—— 这些全无效
手动创建 locale.json 后仍不生效?检查三件事
改完文件却还是英文,大概率不是配置错了,而是环境没清干净。VS Code 不会热加载语言资源,必须从零启动才能读新配置。
- 关闭所有 VS Code 窗口,包括后台进程:
– Windows 查任务管理器中是否有残留的Code.exe
– macOS 用活动监视器结束所有Electron或Code Helper进程
– Linux 执行pkill -f "Code Helper\|Electron" - 确认中文语言包已安装:
ms-ceintl.vscode-language-pack-zh-hans(发布者必须是 Microsoft) - 验证是否真生效:看顶部菜单栏(如“文件”“编辑”)、左侧活动栏 hover 文字、设置里搜
locale看值是否为zh-cn—— 这三处全中文才算成功
真正容易被忽略的是:终端、调试控制台、Git 输出、部分插件配置页默认不随 locale.json 变——它们走各自的语言环境或系统 locale,不是你的配置漏了。


















