VSCode插件可导出为ID列表并批量安装:用code --list-extensions导出,支持过滤禁用项;安装需逐行调用code --install-extension,Linux/macOS用xargs,Windows用PowerShell,并注意ID准确性、网络代理及权限问题。

VSCode 插件列表导出:用 code --list-extensions 获取已安装插件名
VSCode 自带命令行工具 code,只要在终端中能调用它,就能一键列出所有已安装插件的 ID(格式如 ms-python.python)。这是后续导入、同步、脚本化管理的基础。
执行前确认:code 命令已加入系统 PATH(macOS/Linux 检查 which code,Windows 检查是否勾选了“Add to PATH”安装选项)。
- 导出到文件(推荐):
code --list-extensions > extensions.txt
- 只看已启用插件(排除被禁用的):
code --list-extensions --show-versions | grep -v "^\[disabled\]" | cut -d' ' -f1 > extensions.txt
(Linux/macOS) - Windows PowerShell 等效命令:
code --list-extensions | ForEach-Object { $_.Trim() } | Out-File -Encoding UTF8 extensions.txt
VSCode 插件批量安装:用 code --install-extension 逐个安装
code --install-extension 不支持直接读取文件批量安装,必须逐行调用。手动复制粘贴不现实,得靠 shell 或 PowerShell 脚本驱动。
关键点:插件 ID 必须精确(大小写敏感,含 publisher.id 格式),且网络可访问(国内用户注意可能需代理或换源)。
- Linux/macOS 批量安装:
cat extensions.txt | xargs -I {} code --install-extension {} - Windows PowerShell 批量安装:
Get-Content extensions.txt | ForEach-Object { code --install-extension $_ } - 加错误忽略(跳过已安装或失败的):
cat extensions.txt | xargs -I {} sh -c 'code --install-extension {} 2>/dev/null || true'
插件状态丢失?--show-versions 和禁用插件要单独处理
code --list-extensions 默认不显示版本号,也不区分启用/禁用状态。如果想还原完整环境(比如某插件 v1.2.3 才兼容旧项目,或某些插件默认被禁用),仅靠插件 ID 不够。
Shop7z网上购物系统支持电脑版+手机版+支付宝及微信支付,支持QQ和微信一键登陆,系统集众家之所长,大气超美观页面+手机版+商品组合套餐+限时抢购秒杀+图片批量上传+淘宝数据包导入+弹出式分类菜单+不同规格不同价格+新订单邮件通知+销售报表打印与Excel输出+物流跟踪打印查询+会员积分及优惠券+邮件群发+图片在线管理+销售统计报表+五种价格体系+礼品礼券+微信公众号支付+扫码支付等等等。
目前 VSCode 官方无内置导出「启用状态 + 版本号」的 JSON 接口,但可通过以下方式补足:
- 查看当前启用/禁用状态(需解析设置):
code --list-extensions --show-versions输出中,禁用插件会以[disabled]开头,但不包含 workspace 级别禁用信息 - 真正可靠的禁用状态存在用户设置里:
settings.json中的extensions.ignoreRecommendations和extensions.autoUpdate是全局开关;具体插件启停记录在extensions.json(路径见code --user-data-dir输出下的Machine或User子目录) - 若需完整备份,建议同时保存:
extensions.txt+ 用户级settings.json+keybindings.json(插件快捷键常依赖绑定)
跨平台导入失败常见原因:ID 写错、权限不足、代理干扰
批量安装时看似没报错,但实际很多插件没装上,往往不是脚本问题,而是环境细节被忽略。
-
code命令未识别:Windows 上重装 VSCode 后未勾选「Add to PATH」,或 macOS 上未运行Shell Command: Install 'code' command in PATH命令 - 插件 ID 过期或改名:比如
donjayamanne.python已归档,现为ms-python.python;导出的旧列表直接复用会失败 - 网络策略拦截:企业网络或国内环境常导致
--install-extension卡住或 404;可临时配代理:export HTTPS_PROXY=http://127.0.0.1:7890
(macOS/Linux) - 权限问题(尤其 Linux):若 VSCode 以 root 安装,而普通用户执行
code --install-extension,可能因扩展目录权限拒绝写入
最稳妥的做法是:导出时加人工校验(删掉明显过时的 ID),安装后用 code --list-extensions 对比前后数量,并打开 VSCode 的 Extensions 视图确认启用状态 —— 自动化省不了这一步。









