【问题标题】:How to install multiple extensions in VSCode using command line如何使用命令行在 VSCode 中安装多个扩展
【发布时间】:2019-10-22 22:52:23
【问题描述】:

如何使用 cli 在 VSCode 中安装多个扩展?我试过了:

code --install-extension xyz.local-history jock.svg

但它只安装第一个扩展xyz.local-history

Installing extensions...
Installing extension 'xyz.local-history' v1.7.0...
(node:10874) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
Extension 'xyz.local-history' v1.7.0 was successfully installed.

【问题讨论】:

  • 能否在命令行中使用循环来多次运行code --install-extension

标签: visual-studio-code installation command-line-interface


【解决方案1】:

如果您使用 Unix/Linux,请创建一个带有循环的 bash 脚本。在这种情况下,我想备份扩展列表并重新安装:

首先创建一个扩展列表:

$ code --list-extensions > extensions.txt

例如创建一个名为vscode-extension-install.sh 的bash 脚本并输入以下代码:

#!/usr/bin/env bash

cat extensions.txt | while read extension || [[ -n $extension ]];
do
  code --install-extension $extension --force
done

然后运行:

$ ./vscode-extension-install.sh

示例输出:

Installing extensions...
Installing extension 'visualstudioexptteam.vscodeintellicode' v1.2.6...
Extension 'visualstudioexptteam.vscodeintellicode' v1.2.6 was successfully installed.
Installing extensions...
Installing extension 'vscode-icons-team.vscode-icons' v10.0.0...
Extension 'vscode-icons-team.vscode-icons' v10.0.0 was successfully installed.
...

来自my gists

【讨论】:

    【解决方案2】:

    声明一个变量,包含你要安装的所有扩展的名字……有了它之后,你可以一个一个地迭代安装……

    for extensions in ms-python.python ms-azure-devops.azure-pipelines ms-mssql.mssql 
    do code --install-extension $extensions
    done

    也许您还必须添加您的 code.cmd 路径,但如果您的命令正在输入代码,这足以完成任务 编码愉快!

    【讨论】:

      【解决方案3】:

      如果您在 Windows 上并且不使用 WSL,请尝试 PowerShell 循环。

      1. 将所有需要的扩展名放在一个文本文件中(如上面的 Linux 示例) - 比如extensions.txt
      2. 使用以下方法迭代它们: Get-Content extensions.txt | ForEach-Object {code --install-extension $_}

      注意:这适用于所有支持 PowerShell 的系统

      【讨论】:

      • 我想知道如何将扩展更新到最新版本,尤其是扩展包内的扩展
      • @Bruce:使用相同的开关(--install-extension--force 参数)。
      【解决方案4】:

      可以多次传递--install-extension 参数,因此只需一行即可安装多个扩展。

      code --install-extension dbaeumer.vscode-eslint --install-extension esbenp.prettier-vscode
      

      可以在Extension Marketplace 中找到相关文档。运行这两个扩展都已安装,但 Installing extensions... 在输出中只找到一次。

      【讨论】:

        【解决方案5】:

        免责声明:这不是命令行方法,而是 graphical way 在新系统上安装现有扩展using .vsix package >,并且可能会帮助其他人。


        这种在新系统(参考现有系统)上安装扩展的方法需要 Yeoman VS Code extension generatorvsce(或 nodejs 来安装这些)。

        1. 在现有机器上,生成extension pack(更多详情here
        npm install -g yo generator-code
        
        yo code
        

        第一个命令安装 Yeoman VS Code 生成器,第二个命令创建扩展包(选择默认选项如下。创建的 package.json 包含包中的所有扩展,您可以修改该列表)

        1. 在现有机器上,将上面创建的扩展包打包成.vsix file
        npm install -g vsce
         
        vsce package
        

        第一个命令安装 vsce,第二个命令将扩展打包成 .vsix file(从上面创建的扩展包的根目录运行)

        1. 在新系统上,安装.vsix file
        code --install-extension extension-pack-0.0.1.vsix
        
        1. 在新系统上打开 VS Code,访问此扩展,通过 GUI 安装所有必需的扩展

        【讨论】:

        • 如果您要发布扩展包,请考虑在创建时适当填写所有详细信息。
        猜你喜欢
        • 2016-02-20
        • 1970-01-01
        • 2019-08-21
        • 1970-01-01
        • 1970-01-01
        • 2019-07-15
        • 2013-05-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多