vscode多语言切换依赖原生ui机制而非插件,必须安装官方中文语言包并执行configure display language命令选zh-cn后彻底重启,或手动创建合法json格式的locale.json文件置于用户级正确路径,settings.json中locale字段已废弃无效。

VSCode 的“多语言切换”本身不是插件功能,而是编辑器原生支持的界面语言(UI language)机制;所谓“默认语言设置”在用户侧常被误解为新建文件的语言模式,但这两者完全独立、互不影响。
Configure Display Language 命令必须执行,否则语言包不生效
装完 Chinese (Simplified) Language Pack for Visual Studio Code(ID:ms-ceintl.vscode-language-pack-zh-hans)只是把翻译资源放进本地,真正写入生效配置的是 Configure Display Language 命令。不执行它,locale.json 不会生成或更新,界面永远是英文。
- 按
Ctrl+Shift+P输入Configure Display Language,注意大小写和空格,漏一个字符都搜不到 - 列表里只选
zh-cn(小写、连字符、无空格),zh_CN、zh-hans、Chinese全部无效 - 选完弹窗必须点 Restart,点
Reload Window不读新 locale,等于白干 - 若命令面板里根本找不到该命令,说明语言包没装成功,检查已安装扩展中是否有
ms-ceintl.vscode-language-pack-zh-hans且状态为 Enabled
locale.json 是唯一生效路径,settings.json 里的 locale 完全无效
settings.json 中写 "locale": "zh-cn" 不起任何作用——VSCode 自 1.80 起已彻底移除对该字段的支持。所有界面语言配置只认 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"},不能多逗号、不能带 BOM、不能有注释、不能写成 {"locale": "zh-cn" }(末尾空格后多空格也不行)。
files.defaultLanguage 不是“新建文件默认语言”,别指望它
很多人以为改 files.defaultLanguage 就能让 Ctrl+N 新建的空白文件自动变成 Python 或 Markdown,这是个长期存在的误解。这个配置只在“新建 → 未输入任何字符 → 未获得焦点 → 未保存”的极窄窗口内起效,人类操作根本无法稳定触发。
- 真实可用的方式只有两种:新建后立刻
Ctrl+S保存为untitled.py,VSCode 按扩展名自动设语言模式 - 或安装
vscode-new-file插件,右键菜单直接生成带扩展名的文件 -
files.associations才是项目级可控方案,比如配"*.log": "plaintext",它靠扩展名或通配符绑定,稳定可靠
最易被忽略的一点:远程开发(WSL / SSH)需要单独配置远程端的 locale.json,本地设好对远程实例完全无效;而且 Snap/Flatpak 版本在 Linux 上大概率加载不了语言包,得换 .deb 或 tarball 安装包。











