vscode界面语言须改locale.json并重启生效,新建文件默认语言模式无法靠files.defaultlanguage稳定实现,应通过保存为带扩展名文件或vscode-new-file插件绑定。

VSCode 的“默认语言”有两个完全不同的概念:界面显示语言(UI language)和新建文件的初始语言模式(language mode)。两者配置路径、生效逻辑、甚至失败原因都完全不同,混着改必踩坑。
修改 VSCode 界面语言为英文或中文
界面语言不由 settings.json 控制,也不再支持命令面板里的 Configure Display Language(该命令在 1.80+ 版本已移除)。唯一可靠方式是操作 locale.json 文件:
- 关闭 VSCode(必须彻底退出,包括右下角托盘进程)
- 定位并编辑对应路径下的
locale.json:- Windows:
%APPDATA%\Code\User\locale.json - macOS:
~/Library/Application Support/Code/User/locale.json - Linux:
~/.config/Code/User/locale.json
- Windows:
- 把内容设为
{"locale":"en"}(英文)或{"locale":"zh-cn"}(中文),注意 JSON 格式合法,不能多逗号、少引号 - 保存后重启 VSCode;若弹出「重新加载窗口」提示,务必点 Reload Window,不是关掉重开
常见失败点:Chinese (Simplified) Language Pack 扩展必须已安装(否则中文配置无效);企业设备可能被组策略锁定,需检查 Windows 注册表 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\PreferredUILanguages。
设置新建空白文件的默认语言模式(如 Python / Markdown)
files.defaultLanguage 配置几乎没用——它只在新建文件后、未输入任何字符、未获得焦点、未保存的“瞬时状态”下起效。人类操作根本抓不住这个窗口,敲个回车或粘贴一行文本,VSCode 就会立刻根据内容特征(def、##、)覆盖掉它。
- 真正可控的做法是:新建 → 立即保存为带扩展名的文件(如
untitled.py),VSCode 会按扩展名绑定语言模式 - 可手动修改
keybindings.json实现快捷键绑定:
按Ctrl+N新建后自动触发workbench.action.files.saveAs,预填untitled.py - 更轻量方案是装
vscode-new-file插件,右键菜单直接选语言生成对应扩展名文件
别碰 files.defaultLanguage,这不是默认语言,是“临时占位符”,文档里都没提它已被降级为边缘行为。
按扩展名或通配符自动关联语言模式
这是最稳定、项目级友好的做法,适用于你希望 .log 总是 plaintext、.conf 总是 json 这类需求:
- 打开设置(
Ctrl+,),搜files.associations - 点击
Edit in settings.json,添加规则,例如:"*.log": "plaintext"或"config.*": "json" - 该配置可写在用户级
settings.json(全局生效),也可写在项目根目录.vscode/settings.json(仅对当前项目生效)
注意:通配符不支持正则,只认 * 和 ?;如果某扩展名已被内置语言服务占用(如 .js),你的关联仍会生效,但部分功能(如 JS 专用诊断)可能受限。
最容易被忽略的是层级优先级:用户配置 locale.json 或 settings.json 若改错位置(比如误改了远程服务器上的),本地操作就永远不生效。











