VSCode 不支持导出插件配置——插件设置混在 settings.json 中,无独立文件,也无法按插件筛选导出;仅能手动导出插件 ID 列表和清洗后的用户设置片段。

VSCode 没有“导出扩展插件配置”这个功能——你看到的每个插件的设置(比如 python.defaultInterpreterPath、eslint.validate)都混在 settings.json 里,不是独立文件,也不能单独提取。
为什么直接导出插件配置行不通
插件自身不生成可导出的配置文件;它们的配置项只是 settings.json 中以插件 ID 或命名空间为前缀的普通键值对(如 ms-python.python、esbenp.prettier-vscode)。VSCode 不提供按插件筛选并导出这些键的命令或 UI 选项。
- 试图用“导出配置文件”类功能(如 Settings Sync、.code-profile)会漏掉大量插件特有设置,比如调试器 launch 配置、代码格式化路径、语言服务器参数等
-
settings.json里还夹杂着工作区路径、绝对路径(如python.defaultInterpreterPath)、机器相关路径(如files.exclude),直接迁移会导致 Python 插件启动失败、资源管理器异常等 - 插件运行时状态(如已启用/禁用、上次打开的终端会话、LSP 连接缓存)根本不会落盘,无法导出
真正能导出的只有插件 ID 列表和用户设置片段
你实际能可靠迁移的是:哪些插件装了 + 你在 settings.json 里为它们写了哪些配置。这两样必须手动配合处理:
- 导出插件 ID:用
code --list-extensions→ 输出纯文本,每行一个publisher.name格式 ID(如ms-python.python),不含版本号、不含禁用插件 - 导出设置:打开
Preferences: Open Settings (JSON),复制全部内容保存为settings.json,但必须人工检查并清理以下字段:-
python.defaultInterpreterPath(删掉或改成"./python.exe"占位) -
files.exclude、search.exclude中的绝对路径(如"C:\project\node_modules": true) -
terminal.integrated.env.*里硬编码的 PATH 片段
-
- 别碰
--show-versions:输出ms-python.python@2024.12.1这种格式,code --install-extension会报错Extension 'xxx@yyy' not found
导入时最容易忽略的三件事
即使你导出了干净的 settings.json 和 extensions.txt,导入后仍可能失效,原因常藏在这几个地方:
-
Profile 结构被破坏:VSCode 1.86+ 启用 Profile 后,
settings.json是嵌套结构(含"profiles": { "my-dev": { ... } })。直接覆盖整个文件会删掉profiles根对象,导致 Profile 不识别。正确做法是:目标机先进Settings → Profiles → Reset Profile to Default,再把源机对应 Profile 下的内容粘贴进去 -
语言包没装,中文界面白配:
"locale": "zh-cn"只是开关,真正起效的是扩展MS-CEINTL.vscode-language-pack-zh-hans。它不会出现在code --list-extensions输出里,必须手动加到extensions.txt末尾 -
没彻底重启 VSCode:改完配置、覆盖文件后,仅
Developer: Reload Window不触发 Profile 重解析或 locale 重加载。必须关闭所有 VSCode 进程(包括后台Code Helper),再重新启动
插件配置不是“导出即用”的东西,它的本质是一组散落在 JSON 里的键值 + 外部依赖(Python 解释器、Node 环境、语言服务器二进制)。迁移时最耗时间的永远不是复制文件,而是识别并剥离那些藏在 settings.json 里的机器指纹。


















