VSCode插件离线导出_将已安装插件打包迁移到新环境

冬枫姑娘_8511

冬枫姑娘_8511

2026-04-11

749人浏览

原创

最可靠方式是运行 code --list-extensions 获取启用插件id列表,加 --show-versions 可显示版本号;手动复制显示名会报错,需确保 code 在 path 中,导出文件用 utf-8 编码;离线安装卡住因默认同步等待且校验签名,应加 --force 并用 timeout 限制单个安装时长。

vscode插件离线导出_将已安装插件打包迁移到新环境

怎么拿到已安装插件的准确 ID 列表

直接运行 code --list-extensions 是最可靠的方式,它只输出当前启用的插件 ID(如 ms-python.python),不包含禁用项、不依赖 UI 状态。注意:该命令默认不带版本号,加 --show-versions 可以输出 ms-python.python@2026.4.1 这类格式,对跨环境复现更关键。

常见错误是手动截图或从扩展面板复制名称——那得到的是显示名(如 “Python”),不是安装所需的 ID,执行 code --install-extension Python 会报错 Extension 'Python' not found in the marketplace。

  • 确保 code 命令已加入系统 PATH,否则会提示“command not found”
  • Windows 用户若用 CMD 而非 PowerShell,重定向符号需用 >,别写成 >> 导致追加混乱
  • 导出文件建议用 UTF-8 编码保存,避免中文插件名(如某些国内定制版)乱码

离线安装时为什么 code --install-extension 会卡住或失败

根本原因是 VSCode 默认逐个安装、同步等待,且不自动处理依赖。网络不可达时,部分插件(如 ms-vscode.cpptools)仍会尝试连接更新服务器校验签名,导致超时卡死。

解决办法是加 --force 参数跳过“已存在”提示,并配合超时控制:

  • Linux/macOS:用 while read ext; do timeout 120 code --install-extension "$ext" --force; done
  • Windows PowerShell:用 Get-Content extensions.txt | ForEach-Object { code --install-extension $_ --force },但需提前在 VSCode 设置里关掉“自动检查扩展更新”
  • 某些插件(如含 native 二进制的 esbenp.prettier-vscode)要求目标机器已装对应 runtime(Node.js 版本需匹配),否则静默失败,日志里只显示 Installation completed 但插件不生效

能不能直接复制 .vscode/extensions 文件夹迁移

理论上可以,但极不推荐。VSCode 的 extensions 目录下存放的是解压后的运行时文件,不是可移植的安装包;不同平台(Windows/macOS/Linux)、不同 VSCode 主版本(如 1.70 vs 1.85)、甚至不同 CPU 架构(x64 vs arm64)下的二进制模块无法通用。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载

实测中常见问题包括:

  • 复制后启动 VSCode 报错 Cannot find module './extension'(路径硬编码未重置)
  • 插件图标显示异常、设置页空白,因为 package.json 中的 activationEvents 或 contributes 没有被重新注册
  • 主题类插件(如 be5invis.vscode-custom-css)可能因本地 CSS 路径失效而崩溃

唯一适合直接拷贝的场景:同一台机器重装系统后恢复,且 VSCode 版本完全一致。

哪些插件配置必须手动补全,不能靠 ID 自动还原

插件 ID 只能还原安装动作,但以下内容不会随 code --install-extension 一起恢复:

  • 插件专属设置(如 ESLint 的 eslint.packageManager、Prettier 的 prettier.tabWidth),得从旧机 settings.json 里手动提取
  • 禁用状态(extensions.ignoreRecommendations 或某插件的 disabled 字段),code --list-extensions 默认不输出禁用项
  • 插件绑定的键盘快捷键(如 GitLens 的 gitlens.showQuickPick),存在 keybindings.json 中,需单独备份
  • 某些插件的本地缓存目录(如 Remote-SSH 的 ~/.vscode-server)完全独立于 extension 目录,迁移后首次连接仍要下载

最容易被忽略的是插件的“启用范围”:有些插件默认只在特定工作区启用("enablement": "workspace"),单纯安装 ID 后,在用户级设置里看不到开关,必须手动编辑 settings.json 添加对应字段。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2055

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3002

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1016

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3399

7

while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.25

334

5

php中foreach用法
php中foreach用法

本专题整合了php中foreach用法的相关介绍,阅读专题下面的文章了解更多详细教程。

2025.12.04

738

13

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4096

8

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.28

1295

5

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1658

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程