我需要把我安装的所有扩展发给我的同事。我如何导出它们?
扩展管理器似乎什么也不做…它不会安装任何扩展。
我需要把我安装的所有扩展发给我的同事。我如何导出它们?
扩展管理器似乎什么也不做…它不会安装任何扩展。
当前回答
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"
]
}
其他回答
Benny关于Windows和Linux子系统的回答:
code --list-extensions | wsl xargs -L 1 echo code --install-extension
在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 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下,我通常需要运行
cd C:\Program Files\Microsoft VS Code\bin
code.cmd --list-extensions
你不做的是运行Code .exe直接在C:\Program Files\Microsoft VS Code\
现在有一个功能仍在预览中,允许你用微软或GitHub帐户登录,并在没有任何额外扩展的情况下同步你的设置。这非常简单直接。你可以在这里了解更多。
你可以同步的东西。