vs code 界面语言必须通过用户级 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":"zh-cn"}(utf-8 无 bom,半角符号,无空格或注释);修改后须彻底重启 vs code;settings.json 中的 locale 字段已失效。

locale.json 文件路径必须准确无误
VS Code 只读取用户级 locale.json,不认安装目录或工作区里的同名文件。路径写错一个字符、多一个空格、含中文或符号,它就静默回退英文,且不报错。
三系统标准路径如下(复制时注意替换环境变量):
- Windows:
%APPDATA%\Code\User\locale.json - macOS:
$HOME/Library/Application Support/Code/User/locale.json - Linux:
$HOME/.config/Code/User/locale.json
如果路径中存在中文用户名、空格或符号(如 C:\Users\张三\AppData\...),建议先用命令面板打开设置:按 Ctrl+Shift+P → 输入 Open User Settings (JSON),再从那里跳转到对应目录,避免手动拼错。
locale.json 内容格式极其严格
这个文件不是配置集合,它只干一件事:声明界面语言。VS Code 对内容格式零容忍,哪怕多一个空格、用错引号、带 BOM 头,整个文件就被忽略。
正确内容只有一行,且必须完全匹配:
{"locale":"zh-cn"}
常见错误包括:
- 写成
zh_CN、zh-hans、Chinese或ZH-CN—— 全无效 - 用了全角引号(“”)或中文冒号(:)
- 保存为 UTF-8 with BOM(记事本默认选项)——必须选“UTF-8 无 BOM”
- 加了注释、逗号、换行或任何额外字段,比如
{"locale":"zh-cn","version":1}
手动创建 locale.json 后必须彻底重启 VS Code
改完 locale.json 不等于立刻生效。VS Code 启动时才读一次该文件,运行中修改不会热加载。
关键动作是「彻底退出 + 全新启动」:
- Windows:任务管理器里杀掉所有
Code.exe进程(不止前台窗口) - macOS:活动监视器中结束
Code Helper和Electron相关进程 - Linux:执行
pkill -f "code.*--no-sandbox"或手动检查ps aux | grep code
验证是否成功:打开后看右下角状态栏是否显示 zh-cn;再打开命令面板(Ctrl+Shift+P),顶部提示是否变成「请输入命令或搜索设置」。
settings.json 里写 locale 已经完全失效
VS Code 1.70+ 版本起,settings.json 中的 "locale": "zh-cn" 字段被彻底移除支持。它不仅不生效,还可能干扰 locale.json 的读取逻辑。
如果你在 settings.json 里看到这行,直接删掉。两个文件职责分明:
-
locale.json:专管界面语言(唯一有效位置) -
settings.json:管编辑器行为(缩进、字体、自动保存等)
混用或试图覆盖,只会让问题更难排查。
真正容易被忽略的是:终端、调试控制台、Git 日志、部分插件弹窗天生不走locale.json 配置。它们显示英文不是汉化失败,而是各自依赖系统 locale 或运行时环境。盯住顶部菜单栏、命令面板提示、设置左侧导航这三处,对了就是真生效。











