vscode无法导出插件配置,仅能导出插件id列表、用户设置、快捷键和代码片段;中文界面需装语言包、设locale并彻底重启;插件id须用code --list-extensions导出,禁用插件不显示;迁移时需清理绝对路径、profile需重置后粘贴、语言包必须手动安装,快捷键和片段需手动复制。

VSCode 没有“插件配置导出”这回事——你真正能导出的,只有插件 ID 列表、用户设置、快捷键和代码片段;中文界面能否还原,取决于语言包是否装上、locale 是否设对、以及 VSCode 是否彻底重启。
code --list-extensions 是唯一可信的插件导出方式
扩展面板里看到的“Python”“ESLint”只是显示名,安装依赖的是 ms-python.python 这类 ID。手动复制、截图、右键“复制 ID”都容易出错,尤其遇到带空格或 Unicode 字符的插件名时。
-
code --list-extensions输出纯文本,每行一个 ID,无 BOM、无版本号、不依赖网络,适合跨平台传输 - 加
--show-versions会输出ms-python.python@2024.12.1,但code --install-extension完全不认带@的格式,直接报错Extension 'xxx@yyy' not found - 禁用插件不会出现在结果里——这是设计行为,不是 bug;重装时基本不需要记录禁用状态
- Windows 下若提示
command not found,先确认是否执行过Shell Command: Install 'code' command in PATH
settings.json 里含绝对路径是导入后 Python 插件报错的主因
迁移后 python.defaultInterpreterPath 指向旧机器的 C:\Users\old\AppData\Local\Programs\Python\Python311\python.exe,新机器一启动就失败;files.exclude 里写死的项目路径也会让资源管理器异常。
- 迁移前必须手动删掉或替换成占位符(如
"python.defaultInterpreterPath": "./python.exe"或留空) - VSCode 1.86+ 启用 Profile 后,
settings.json结构变成嵌套形式,例如含"profiles": { "my-dev": { ... } };直接覆盖会删掉profiles根对象,导致 Profile 无法识别 - 正确做法:在目标机进入
设置 → Profiles → 选中目标 Profile → Reset Profile to Default,再把源机对应 Profile 下的内容粘贴进去 - 改完保存后,必须关闭所有 VSCode 进程(包括后台
Code Helper),再重启——仅靠Developer: Reload Window不触发 Profile 重解析
中文界面不生效?漏了语言包或没启用 locale
settings.json 里写 "locale": "zh-cn" 只是个开关,真正起作用的是 MS-CEINTL.vscode-language-pack-zh-hans 这个扩展。没装它,哪怕配置全对,也只会 fallback 到英文。
- 导出时必须手动在
extensions.txt末尾追加一行:MS-CEINTL.vscode-language-pack-zh-hans - 导入后检查三件事:
Configure Display Language命令是否存在(不存在=语言包根本没装上)、扩展面板里该包是否显示「已启用」、任务管理器里是否还有残留的Code Helper进程 - 官方中文包只覆盖核心 UI:菜单、侧边栏、设置页、命令面板、弹窗提示;第三方插件(如 GitLens、Prettier)的按钮文案、调试控制台里的系统级错误信息、部分文件系统右键菜单,默认不汉化——这不是同步问题,是语言包本身没提供翻译
keybindings.json 和 snippets 必须手动复制,Settings Sync 不管它们
Settings Sync 插件或 VSCode 官方同步功能,完全不处理快捷键和代码片段。你自定义的 Ctrl+Shift+P 行为、Emmet 缩写、console.log 片段,全靠手动复制。
-
keybindings.json路径与settings.json相同,修改后热重载生效,不用重启 -
snippets/是目录,不是单个文件,需整个复制;Linux/macOS 注意权限,Windows 注意隐藏属性 - 路径示例:
Windows:%APPDATA%\Code\User\keybindings.json和%APPDATA%\Code\User\snippets\
macOS:$HOME/Library/Application Support/Code/User/keybindings.json和$HOME/Library/Application Support/Code/User/snippets/
Profile 结构、语言包 ID、绝对路径字段——这三个点最容易被忽略,但任何一个出错,都会导致“配置明明导出了,却没效果”。别指望一键脚本解决全部,每一步都得亲手核对。











