如何导出Visual Studio代码扩展列表?


342

我需要将所有已安装的扩展程序发送给同事。如何导出它们?

扩展程序管理器似乎什么也不做...它不会安装任何扩展程序。

Answers:


573

自动

如果您期待一个简单的一站式工具来帮助您完成此操作,建议您查看“ 设置同步”扩展程序。

它将允许

  1. 导出您的配置和扩展
  2. 与同事和团队共享。您可以更新配置。他们的设置将自动更新。

手册

  1. 确保您具有最新版本的Visual Studio Code。如果通过公司门户网站安装,则可能没有最新版本。

  2. 在机器A上

    Unix:

    code --list-extensions | xargs -L 1 echo code --install-extension
    

    Windows(PowerShell,例如,使用Visual Studio Code的集成终端):

    code --list-extensions | % { "code --install-extension $_" }
    
  3. 将回声复制并粘贴到机器B

    样品输出

    code --install-extension Angular.ng-template
    code --install-extension DSKWRK.vscode-generate-getter-setter
    code --install-extension EditorConfig.EditorConfig
    code --install-extension HookyQR.beautify
    

请确保您已code安装命令行。有关更多信息,请访问命令行界面(CLI)


9
有人可以提供此命令的Windows友好版本吗?xargs似乎对于UNIX是唯一的。
damanptyltd

11
@damanptyltd如果您使用GitHub,则可能在Windows笔记本电脑/ PC上安装了Git Bash。您可以在其中使用Unix / Mac命令-这就是我的工作方式
Drenai

8
对于任何认为他们需要Windows版本的人,请注意,您应该从vscode命令行运行它,您可以通过按Ctrl +`来获取它,然后将其粘贴!
贾里德'18

1
我使用上面的带有--list-extensions命令的Ctrl +`从Windows vscode中获取设置,然后使用Ctrl +`粘贴代码-将结果安装到Linux上的vscode实例中(通过RDP)。它只是工作。下载并安装了所有这些文件。太棒了
Dean

5
这在Windows PowerShell下应该可以工作:(code --list-extensions | % { "code --install-extension $_" }我也在答案中对此进行了编辑)
powerzone3000

196

我需要自己做几次-尤其是在另一台计算机上安装时。

常见问题将为您提供文件夹的位置

Visual Studio Code在扩展文件夹.vscode / extensions下查找扩展。根据您的平台,它位于:

Windows %USERPROFILE%\.vscode\extensions
Mac ~/.vscode/extensions
Linux ~/.vscode/extensions

那应该显示扩展列表。

我还成功使用了Visual Studio Code Settings Sync Extension将设置同步到GitHub gist。

在最新版本的Visual Studio Code(2016年5月)中,现在可以在命令行上列出已安装的扩展:

code --list-extensions

6
对我来说(Linux,代码版本1.7.1)不起作用...它只是启动VS Code。
vanthome

@vanthome我从未在Linux上尝试过,但我认为这是相同的:我首先遇到了与您相同的问题,直到我意识到命令行实用程序实际上bin位于应用程序安装文件夹下。如果查看其内容,您会看到它调用主可执行文件,但告诉它执行CLI。
Yannick Meine

1
仅供参考,您需要在VS Code中的命令面板(cmd / ctrl-shift-p)中运行“ Shell命令:在PATH中安装” code”命令,然后在终端中运行以上代码以使其正常运行。
卡林

51

我开发了一个扩展程序,它将跨多个实例同步所有Visual Studio Code设置。

主要特点

  1. 使用您的github帐户令牌。
  2. 一键轻松上传和下载。
  3. 保存所有设置和摘要文件。
  4. 上传键:Shift + Alt + u
  5. 下载键:Shift + Alt + d
  6. 键入同步以查看所有同步选项

它同步

  1. 设置文件
  2. 绑定文件
  3. 启动文件
  4. 片段文件夹
  5. VSCode 扩展

详细文档来源

VSCode同步自述文件

在此处下载:VS代码设置同步


这会自动安装同步的扩展程序吗?
Raghavendra

是! 试试看,让我知道
Shan Khan

您在开发人员控制台中遇到什么异常?在回购中打开github问题,我们将看到
Shan Khan

嘿,我用您的扩展名,很好,但是我不知道如何与朋友共享扩展名列表。
vanduc1102 '17

@ vanduc1102 -检查此链接:shanalikhan.github.io/2016/09/02/...
山汗

28

Windows(PowerShell)版本的@Benny的答案

机器A:

在Visual Studio Code PowerShell终端中:

code --list-extensions > extensions.list

机器B:

  1. 将extension.list复制到机器B

  2. 在Visual Studio Code PowerShell终端中:

    cat extensions.list |% { code --install-extension $_}
    

1
这将为我启动一个带有“欢迎”选项卡的新代码窗口。
甘道夫·萨克斯

1
这个答案对我来说是完美的-安装一切都没有问题。
SE再次不幸地再次罢工

这是我的首选答案,因为它不依赖xargs(与较高的额定答案相比)。现在,如果仅将“代码”识别为命令... 叹气(总是这样)
GG2

这非常适合创建我的.list文件,并向我展示我当前拥有哪些扩展名。我只需要列表作为参考。不需要执行复制过程。非常感谢。
klewis19年

这对我来说很好。谢谢
Yang Wang

21

我使用以下命令将扩展从vscode复制到vscode内部人员:

code --list-extensions | xargs -L 1 code-insiders --install-extension

该参数-L 1允许我们对code-insiders --install-extension由生成的每个输入行执行一次命令code --list-extensions


这对于init.sh我的dotfiles回购非常有用。我首先从文件安装扩展名,然后将所有当前安装的扩展名写入该文件。唯一的缺点是,如果要删除扩展名,则必须删除该文件,但如果添加一个扩展名,它应该可以工作。
ThaJay

11

生成用于安装扩展名的Windows命令。

for /F "tokens=*" %i in ('code --list-extensions')
   do @echo call code --install-extension %i >> install.cmd

9

对于Linux

在OLD_MACHINE

code --list-extensions > vscode-extensions.list

在NEW_MACHINE

cat vscode-extensions.list | xargs -L 1 code --install-extension

cat: vscode-extensions.list: No such file or directory
vsync

似乎可以通过指定vscode-extensions.list必须将文件从旧计算机复制到新计算机来改善答案。
约恩·詹森

7

打开VScode控制台并编写:

code --list-extensions (要么 code-insiders --list-extensions如果安装了vscode Insider)

然后与同事分享命令行:

code --install-extension {ext1} --install-extension {ext2} --install-extension {extN}替换{ext1}{ext2},...,{extN}列出的扩展标题

对于vscode内部人员: code-insiders --install-extension {ext1} ...

如果他们在vscode命令行终端中将其复制/粘贴,则将安装共享扩展

有关命令行扩展管理的更多信息


3

有一个扩展管理器扩展,可能会有所帮助。似乎可以安装中指定的一组扩展settings.json


我尝试过,但是该插件无法安装我尝试添加到设置文件中的jshint ...
Andrew


3

转储扩展名:

code --list-extensions > extensions.txt

使用bash安装扩展(Linux,OSX和WSL):

cat extensions.txt | xargs code --list-extensions {}

使用PowerShell在Windows上安装扩展:

cat extensions.txt |% { code --install-extension $_}

1
不幸的是,这不起作用。它使用--list-extensions,它不会安装,因此应该是一行,--install-extension但是当更改为它仍然不起作用
atwright147

3

https://code.visualstudio.com/docs/editor/extension-gallery#_workspace-recommended-extensions

共享扩展名列表的更好方法是为您的同事创建基于工作区的扩展集。

通过生成扩展列表之后code --list-extensions | xargs -L 1 echo code --install-extension(检查您的$PATH包含Visual Studio Code条目C:\Program Files\Microsoft VS Code\bin\在运行代码命令之前),

运行Extensions: Configure Recommended Extensions (Workspace Folder)Visual Studio Code命令(Ctrl+ Shift+ P)并将扩展名放入生成的文件中.vscode/extensions.json

{
    "recommendations": [
        "eg2.tslint",
        "dbaeumer.vscode-eslint",
        "msjsdiag.debugger-for-chrome"
    ]
}

2

我打开了Visual Studio Code extensions文件夹并执行:

find * -maxdepth 2 -name "package.json" | xargs grep "name"

这为您提供了一个列表,您可以从中提取扩展名。


1

如果打算在团队中共享工作区扩展配置,则应查看VSCode 的“ 推荐扩展”功能。

要生成此文件,请打开命令托盘> Configure Recommended Extensions (Workspace Folder)。从那里开始,如果您想获取所有当前扩展并将其放在此处,则可以使用--list-extensions其他答案中提到的内容,但是要添加一些awk使其可粘贴到json数组中(您可以使用这是您想要的,这只是一个简单的示例):

code --list-extensions | awk '{ print "\""$0"\"\,"}'

这种方法的优点是可以将您整个团队范围的工作区配置检入源代码管理。在项目中存在此文件的情况下,当打开项目时,VSCode会通知用户建议安装的扩展名(如果尚未安装),并且只需按一下按钮就可以全部安装。


1
  1. code --list-extensions > list

  2. sed -i 's/.*/\"&\",/' list

  3. 文件的内容复制list,并加入到.vscode/extensions.json"recommendations" 部分。

  4. 如果extensions.json不存在,则创建具有以下内容的文件

{
    "recommendations": [
        //add content of file list here
    ]
}
  1. 共享extensions.json文件并要求其他用户添加到.vscode文件夹。vscode将提示安装扩展。

1

如何从终端这里导出VS Code扩展是git,因为这可能对某些人有所帮助。

如何从终端导出VS Code扩展

注意: 仅适用于Unix的系统

1)将扩展名导出到外壳文件:

code --list-extensions | sed -e 's/^/code --install-extension /' > my_vscode_extensions.sh

2)验证您的扩展程序安装程序文件:

less my_vscode_extesions.sh

安装扩展(可选)

my_vscode_extensions.sh使用Bash命令运行:

bash my_vscode_extensions.sh

0

对于那些想知道如何将扩展从Visual Studio Code复制到Visual Studio Code内部人员的人,请使用对Benny答案的以下修改:

code --list-extensions | xargs -L 1 echo code-insiders --install-extension

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.