code --list-extensions是唯一稳定、跨平台、不依赖ui的插件列表导出方式,因vs code官方ui无“导出全部插件”功能,右键“导出插件”仅支持单个.vsix文件;该命令输出纯文本启用插件id列表(如ms-python.python),每行一个,适合备份与自动化恢复。

直接用 code --list-extensions 命令,这是唯一稳定、跨平台、不依赖 UI 的方式。
为什么不用扩展面板里的“导出”按钮
VS Code 官方 UI 并没有“导出全部插件列表”的按钮——所谓右键菜单里的“导出插件”只针对单个插件,生成的是 .vsix 文件,不是文本清单。想批量迁移?靠点选+导出几十个 .vsix,效率低、易漏、难验证。而 code --list-extensions 输出纯 ID 列表(如 ms-python.python),才是备份和自动化恢复的基石。
执行 code --list-extensions 前必须确认的事
这个命令不是 VS Code 图形界面功能,它依赖系统 PATH 中的 code 可执行文件。常见失败原因全是这一步没走通:
- 终端里运行
code --version返回版本号,才说明可用;如果报command not found或'code' 不是内部或外部命令,先别急着导出 - Windows 用户:打开 VS Code →
Ctrl+Shift+P→ 输入Shell Command: Install 'code' command in PATH→ 回车执行;之后重启终端 - macOS 用户:若用 zsh,执行完上述命令后需重启 Terminal 或运行
source ~/.zshrc - Linux 用户:确保安装时勾选了“Add to PATH”,否则要手动把 VS Code 的
bin目录加进$PATH
导出命令怎么写才可靠
别复制网上残缺的命令,直接用这行(含重定向,防乱码):
code --list-extensions > extensions.txt
它只输出已启用插件的 ID,每行一个,不含版本、描述或禁用项——这正是批量恢复需要的格式。注意:
- 输出文件
extensions.txt是纯文本,可直接 Git 提交、邮件发送、微信转发 - 路径默认在当前终端所在目录,建议 cd 到项目根目录或专门备份目录再执行
- 不要用 GUI 文件管理器双击打开
extensions.txt—— 某些编辑器会加 BOM 或换行符,后续批量安装可能出错;用 VS Code 或 vim 打开最安全
导出内容里看不到某个插件?先查状态
如果某插件明明装了却没出现在 extensions.txt 里,大概率它被禁用了。VS Code 的 --list-extensions 默认只返回「启用」状态的插件。验证方法很简单:
- 在 VS Code 扩展面板搜索框输入
@installed—— 这是内置过滤指令,立刻只显示所有已安装(含禁用)插件 - 如果该插件出现在
@installed结果里但不在extensions.txt中,说明它当前是禁用状态;点齿轮图标 → 启用它,再运行一次导出命令即可 - 如果
@installed里也搜不到,那它根本没装,或者装在了其他用户/工作区配置下(比如用了多账户登录,插件装在了错误 profile)
真正容易被忽略的不是命令本身,而是 code 命令是否就绪、插件是否启用、以及导出后文件的编码和换行符——这三个点踩中任意一个,后续批量安装就会静默失败,还查不出原因。











