我需要把我安装的所有扩展发给我的同事。我如何导出它们?

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


当前回答

其他答案需要发送一个文件,我认为这太繁琐了。如果您需要将所有扩展名发送到另一台计算机上安装,请使用以下方式列出您的扩展名:

code --list-extensions

你可以使用如下格式的单行命令安装多个扩展:

code --install-extension dakshmiglani.hex-to-rgba --install-extension techer.open-in-browser

一个简单的方法来格式化你的扩展列表来创建命令是做一个regex搜索和替换:

Paste your copied list into a new document and search for: (.+)(\n?) Replace with --install-extension $1 (Don't omit the space at the beginning.) Add the word code to the start of the resulting text and you'll have a very large command that you can hand off to your colleagues to run in their terminal. code --install-extension hbenl.vscode-test-explorer --install-extension maciejdems.add-to-gitignore --install-extension techer.open-in-browser --install-extension traBpUkciP.vscode-npm-scripts ...

其他回答

打开Visual Studio Code控制台并编写:

code——list-extensions(或者code-insiders——list-extensions,如果安装了Visual Studio code insider)

然后与同事共享命令行:

——install-extension {ext1}——install-extension {ext2}——install-extension {extN}替换{ext1}, {ext2},…, {extN}与您列出的扩展名

对于Visual Studio Code内部:Code -insiders——install-extension {ext1}…

如果他们复制/粘贴到Visual Studio Code命令行终端,他们将安装共享扩展。

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

Windows (PowerShell)版本的本尼的答案

机:

在Visual Studio Code PowerShell终端中:

代码:> extensions.list

机器B:

复制扩展。解析:选B 在Visual Studio Code PowerShell终端中: 猫的扩展。列出|% {code——install-extension $_}

文件>首选项>打开设置同步将在不同的设备上同步你的VS Code设置。

我使用的是VS Code版本1.74.0

在Windows上,使用powershell脚本。这将返回一个更好地反映名字的“FriendlyName”,因为它将出现在Visual Studio Code UI中(这是Code -list-extensions所不做的):

<#
.SYNOPSIS 
    Lists installed Visual Studio Code Extensions in a friendly format.

.DESCRIPTION
    Lists installed Visual Studio Code Extensions in a friendly format.
    
.INPUTS
    None. You cannot pipe objects to this.

.OUTPUTS
    A list of installed Visual Studio Code Extensions in a friendly format.

.EXAMPLE
    PS> .\List-Extensions.ps1  

.NOTES
  Author: John Bentley
  Version: 2022-07-11 18:55
  Latest at: [How can you export the Visual Studio Code extension list?
              > John Bentley's Answer]
            (https://stackoverflow.com/a/72929878/872154)
#>

# Change to your directory
$packages = Get-ChildItem C:/Users/John/.vscode/extensions/*/package.json 

Function Out-JsonItem($File) { 
  $json = Get-Content $File | ConvertFrom-Json 
  $extensionMetaData = [PSCustomObject]@{

    # This is the name that appears in the Visual Studio Code UI, 
    # Extensions Tab
    FriendlyName = 
      if ($json.displayName) { $json.displayName } else { $json.name }
      
    # Name = $json.name
    PublisherAndName = $json.publisher + '.' + $json.name

    Description = $json.description
  }
  return $extensionMetaData
}

$extensions = ($packages | ForEach-Object { Out-JsonItem -File $_ }) 

$extensions.GetEnumerator() | Sort-Object {$_.FriendlyName} 

# Alternate sorting (Same order as `code --list-extensions`). 
# $extensions.GetEnumerator() | Sort-Object {$_.PublisherAndName} 

示例输出:

FriendlyName                             PublisherAndName
------------                             ----------------
[Deprecated] Debugger for Chrome         msjsdiag.debugger-for-chrome
%displayName%                            ms-vscode-remote.remote-wsl
Apache Conf                              mrmlnc.vscode-apache
Apache Conf Snippets                     eiminsasete.apacheconf-snippets
Auto Close Tag                           formulahendry.auto-close-tag
Beautify                                 HookyQR.beautify
Blank Line Organizer                     rintoj.blank-line-organizer
change-case                              wmaurer.change-case
Character Count                          stevensona.character-count
...
Word Count                               ms-vscode.wordcount
Word Count                               OliverKovacs.word-count
XML                                      redhat.vscode-xml
XML Tools                                DotJoshJohnson.xml
XML Tools                                qub.qub-xml-vscode
XPath Notebook for Visual Studio Code    deltaxml.xpath-notebook
XSLT/XPath for Visual Studio Code        deltaxml.xslt-xpath 

产品说明:

复制脚本代码并将其保存为List-Extensions文件。ps1某处(仅限Windows)。 修改$packages = Get-ChildItem C:/Users/John/.vscode/extensions/*/package。Json指向您的目录(更改用户名)。 在你保存List-Extensions的目录下打开Windows终端。ps1(这里的Set-Location命令可能有帮助)。 使用。\List-Extensions.ps1从Windows终端运行脚本

我已经开发了一个扩展,它将同步你所有的Visual Studio代码设置跨多个实例。

关键特性

使用你的GitHub账户令牌。 易于上传和下载一键。 保存所有设置和片段文件。 上传键:Shift + Alt + U 下载键:Shift + Alt + D 输入“同步”查看所有同步选项

它同步

设置文件 Keybinding文件 启动文件 片段的文件夹 Visual Studio代码扩展

详细文档来源

Visual Studio代码同步ReadMe

这里下载:Visual Studio代码设置同步