VS Code插件离线迁移教程

在某些情况下,由于信息安全等原因,我们需要在网络访问受限的环境中使用Visual Studio Code(简称VS Code),此时无法通过插件市场在线安装插件,需要使用离线安装。下面是详细步骤。

  1. 准备UTF-8编码的插件列表文件,以从可以正常访问插件市场的旧设备导出为例

    1.1 确保code命令全局可用:打开VS Code主程序所在的目录(如果有桌面快捷方式,右键>属性>打开文件所在的位置),将bin子目录添加到PATH。

    1.2 在普通位置(如"下载"文件夹)打开终端,执行命令:code --list-extensions > vscode-extensions.txt

    1.3 用记事本打开该文件,用UTF-8编码另存。

    1.4 该文件的每一行代表一个插件名称,可根据需要删除或增加。注意,部分插件之间存在依赖关系,如果依赖缺失会导致安装失败。

  2. .vsix 插件安装包下载

    2.1 编写批量下载脚本,比如download_extensions.py

    py 复制代码
    # download_vscode_extensions.py
    import requests
    import os
    
    EXT_FILE = "extensions-common.txt"
    OUTPUT_DIR = "vscode-offline-extensions-common"
    
    os.makedirs(OUTPUT_DIR, exist_ok=True)
    
    with open(EXT_FILE, "r", encoding="utf-8") as f:
        extensions = [line.strip() for line in f if line.strip()]
    
    for ext_id in extensions:
        try:
            publisher, name = ext_id.split(".")
            # build Marketplace download link
            url = f"https://marketplace.visualstudio.com/_apis/public/gallery/publishers/{publisher}/vsextensions/{name}/latest/vspackage"
            print(f"Download {ext_id} ...")
            resp = requests.get(url, timeout=30)
            resp.raise_for_status()
            with open(os.path.join(OUTPUT_DIR, f"{ext_id}.vsix"), "wb") as f_out:
                f_out.write(resp.content)
            print(f"Success: {ext_id}.vsix")
        except Exception as e:
            print(f"Fail: {ext_id} - {e}")
    
    print(f"\nAll extensions have saved to: {os.path.abspath(OUTPUT_DIR)}")

    2.2 安装脚本运行所需依赖,运行脚本,下载插件到指定目录

  3. 编写插件安装脚本,比如install-vsix.ps1

    powershell 复制代码
    # Open PowerShell, execute `.\install-vsix`
    Get-ChildItem -Path . -Filter *.vsix | ForEach-Object {
        code --install-extension $_.FullName
    }
    Write-Host "Extension installation completed!" -ForegroundColor Green
    Read-Host "Press Enter to exit"

    如果使用macOS或Linux,核心脚本为:

    bash 复制代码
    for file in *.vsix; do
      code --install-extension "$file"
    done
  4. 将上一步编写的脚本移动到插件目录中,然后将整个插件目录拷贝到新设备。

  5. 在新设备上离线安装插件:在新设备的插件目录中打开终端,执行安装脚本。安装完成后,重启 VS Code 即可生效。

相关推荐
dLYG DUMS1 小时前
vscode配置django环境并创建django项目(全图文操作)
vscode·django·sqlite
大嘴皮猴儿3 小时前
从零开始学商品图翻译:小白也能快速掌握的多语言文字处理与上架技巧
大数据·ide·人工智能·macos·新媒体运营·xcode·自动翻译
JAVA学习通6 小时前
励志从零打造LeetCode平台之C端竞赛列表
java·vscode·leetcode·docker·状态模式
萑澈8 小时前
vscode怎么关闭点击音效
ide·vscode·编辑器
Freak嵌入式9 小时前
MicroPython对接大模型:uopenai + 火山方舟实现文字聊天和图片理解
ide·驱动开发·ai·llm·嵌入式·micropython·upypi
NQBJT13 小时前
[特殊字符] VS Code + Markdown 从入门到精通:写论文、技术文档的超实用指南
开发语言·vscode·c#·markdown
摇滚侠1 天前
帮我整理一份 IDEA 开发中常用快捷键
java·ide·intellij-idea
dyxal1 天前
VS Code 终端疑难杂症排查:为什么 PowerShell 无法启动?
vscode
【ql君】qlexcel1 天前
Visual Studio Code开发STM32设置头文件宏定义uint32_t报错
vscode·stm32·vs code·头文件宏定义·uint32_t报错·uint8_t报错·uint16_t报错
琉璃榴1 天前
Visual Studio Code连接远程服务器
服务器·vscode·github