必须用--show-versions导出含中文UI插件的精确版本ID,因版本不匹配会导致语言资源(如package.nls.zh-cn.json)未加载,即使插件启用界面仍为英文;同时需确保settings.json中显式配置"locale":"zh-cn"并设置中文字体。

直接备份 .vscode/extensions 文件夹无法还原中文插件配置,它只是解压后的运行时产物,不包含语言包、本地化设置或用户级配置文件;真正要备份的是带版本号的插件 ID 列表 + 用户目录下的语言相关配置项。
为什么导出插件列表必须用 --show-versions
中文插件(如 formulahendry.code-runner 或国内定制版 huizeng.vscode-chinese-lang)常依赖特定版本才能正确加载语言资源。只执行 code --list-extensions > extensions.txt 会丢失版本信息,恢复时可能装上新版,导致界面仍为英文或报错 Cannot find module './language'。
-
--show-versions输出格式为publisher.name@x.y.z,这是跨环境复现的最小可靠单元 - 含中文 UI 的插件(如某些汉化包)若版本不匹配,
package.nls.zh-cn.json文件可能未被加载,即使插件已启用,菜单/提示仍为英文 - Windows 用户用 CMD 导出时,重定向符号必须是
>,写成>>会导致多次导出内容叠加,下次恢复时code --install-extension会因非法 ID 报错
settings.json 里哪些配置影响中文显示
仅装对插件还不够——VSCode 自身语言、终端字体、编辑器语言包都得手动配齐。常见遗漏点:
-
"locale": "zh-cn"必须显式设置,否则即使装了中文语言包,启动后仍默认英文 -
"editor.fontFamily": "'Microsoft YaHei', 'PingFang SC', 'sans-serif'"—— 缺少中文字体声明,中文字符会 fallback 到方块或乱码 -
"terminal.integrated.fontFamily": "Cascadia Code PL"这类等宽字体若没内置中文支持,终端输出中文会断行或重叠 - 某些插件(如
ms-python.python)的提示语言还受python.defaultInterpreterPath指向的 Python 环境 locale 影响,需确保该解释器启动时LANG=zh_CN.UTF-8(Linux/macOS)或系统区域设置为简体中文(Windows)
恢复后中文仍不生效?检查这三个位置
插件装了、设置写了,但菜单还是英文?问题大概率出在缓存或路径冲突:
- VSCode 启动时读取的是
User目录下的locale设置,不是工作区或.vscode/settings.json—— 所以必须把"locale": "zh-cn"放进~/.config/Code/User/settings.json(Linux)、%APPDATA%\Code\User\settings.json(Windows)或~/Library/Application Support/Code/User/settings.json(macOS) - 插件自身的语言配置文件(如
Prettier的.prettierrc)不随 Settings Sync 同步,若你改过prettier.printWidth等中文排版相关项,得单独备份 - 部分中文插件(如旧版
codezombie.chinese)会在首次激活时生成%APPDATA%\Code\Cache\language-packs,这个缓存目录不能跨设备复制,恢复后需重启 VSCode 并等待几秒,让它自动下载对应语言包
最易被忽略的是:插件 ID 列表导出时若含中文 publisher 名(极少见),必须用 UTF-8 编码保存 extensions.txt,否则 code --install-extension 会解析失败,静默跳过该行——打开文件用 VSCode 查看右下角编码标识,不是 UTF-8 就手动转存。


















