Como você pode exportar a lista de extensões do Visual Studio Code?

343

Preciso enviar todas as minhas extensões instaladas aos meus colegas. Como posso exportá-los?

O gerenciador de extensões parece não fazer nada ... Ele não instala nenhuma extensão.

Andrew
fonte

Respostas:

574

Automático

Se você deseja uma ferramenta fácil de fazer isso, sugerimos que você procure a extensão de sincronização de configurações .

Permitirá

  1. Exportação de sua configuração e extensões
  2. Compartilhe com colegas de trabalho e equipes. Você pode atualizar a configuração. Suas configurações serão atualizadas automaticamente.

Manual

  1. Verifique se você possui a versão mais atual do Visual Studio Code. Se você instalar através de um portal da empresa, talvez não tenha a versão mais atual.

  2. Na máquina A

    Unix:

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

    Windows (PowerShell, por exemplo, usando o terminal integrado do Visual Studio Code):

    code --list-extensions | % { "code --install-extension $_" }
    
  3. Copie e cole a saída de eco na máquina B

    Saída de amostra

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

Verifique se você tem a codelinha de comando instalada. Para mais informações, visite Interface da Linha de Comandos (CLI) .

Benny
fonte
9
Alguém pode fornecer uma versão amigável para Windows deste comando? O xargs parece ser exclusivo do UNIX.
Davidptyltd
11
@damanptyltd Se você usa o GitHub, provavelmente tem o Git Bash instalado no seu laptop / pc com Windows. Você pode usar comandos Unix / Mac, em que - isso é como eu tenho que trabalhar
Drenai
8
para quem acha que precisa de uma versão do Windows, observe que você deve executá-lo na linha de comando vscode, pode obtê-lo pressionando Ctrl + `e colando-o!
Jared
11
Usei o comando Ctrl + `com --list-extensions acima para obter minhas configurações do windows vscode e, em seguida, usei Ctrl +` para colar no código --install results na minha instância vscode no Linux (sobre RDP). Apenas funcionou. Baixou e instalou todos eles. Impressionante
Dec
5
Isso deve funcionar no Windows PowerShell: code --list-extensions | % { "code --install-extension $_" }(I também editou este na resposta)
powerzone3000
196

Eu precisei fazer isso algumas vezes - especialmente ao instalar em outra máquina.

Perguntas comuns fornecerão a localização da sua pasta

O Código do Visual Studio procura extensões na sua pasta de extensões .vscode / extensions. Dependendo da sua plataforma, ela está localizada:

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

Isso deve mostrar uma lista das extensões.

Também tive sucesso usando a Extensão de Sincronização de Configurações de Código do Visual Studio para sincronizar configurações com a essência do GitHub.

Na versão mais recente do Visual Studio Code (maio de 2016), agora é possível listar as extensões instaladas na linha de comando:

code --list-extensions
MarkP
fonte
6
Para mim (linux, código versão 1.7.1), ele não funciona ... apenas inicia o VS Code.
vanthome
@vanthome Eu nunca experimentei o Linux, mas acho que é o mesmo: primeiro tive o mesmo problema que você, até perceber que o utilitário de linha de comando está na binpasta da instalação do aplicativo. Se você olhar para o conteúdo, verá que ele chama o executável principal, mas solicita que ele execute a CLI.
Yannick Meine
11
Para sua informação, você precisará executar o comando 'Shell command: Install' code 'in PATH' na paleta de comandos (cmd / ctrl-shift-p) no VS Code e, em seguida, execute o código acima no seu terminal para permitir que isso funcione.
Carlin
51

Eu desenvolvi uma extensão que sincronizará todas as suas configurações de código do Visual Studio em várias instâncias.

Características principais

  1. Use seu token da conta do github.
  2. Fácil de carregar e baixar em um clique.
  3. Salva todas as configurações e arquivos de trechos.
  4. Carregar chave: Shift + Alt + u
  5. Chave de download: Shift + Alt + d
  6. Digite Sync Para visualizar todas as opções de sincronização

It Sync

  1. Arquivo de configurações
  2. Arquivo de ligação de teclas
  3. Iniciar arquivo
  4. Pasta Snippets
  5. Extensões VSCode

Fonte da documentação detalhada

Leiame do VSCode Sync

Faça o download aqui: Sincronização de configurações de código do VS

Shan Khan
fonte
isso instala automaticamente extensões sincronizadas?
Raghavendra
Sim! Tente isso e deixe-me saber
Shan Khan
que exceção você está recebendo no console do desenvolvedor? abra uma questão github no repo e vamos ver
Shan Khan
Ei, eu usei sua extensão, é ótimo, mas não sei como compartilhar minha lista de extensões com meu amigo.
precisa saber é o seguinte
@ vanduc1102 - Verifique este link: shanalikhan.github.io/2016/09/02/…
Shan Khan
28

Versão do Windows (PowerShell) da resposta de @ Benny

Máquina A:

No terminal do Visual Studio Code PowerShell:

code --list-extensions > extensions.list

Máquina B:

  1. Copie extension.list para a máquina B

  2. No terminal do Visual Studio Code PowerShell:

    cat extensions.list |% { code --install-extension $_}
    
milanio
fonte
11
Isso apenas lança uma nova janela de código com a guia Bem-vindo para mim.
Gandalf Saxe
11
Essa resposta funciona perfeitamente para mim - não tive problemas ao instalar tudo.
SE ataca novamente Infelizmente,
Esta é a minha resposta preferida, porque não depende de xargs (em comparação com a resposta com classificação mais alta). Agora, se apenas "código" foram reconhecidos como um comando ... suspirar (é sempre algo)
GG2
Isso funcionou perfeitamente na criação do meu arquivo .list e me mostrando quais extensões eu tenho atualmente. Eu só precisava da lista como referência. Não precisava fazer o processo de cópia. Muito Obrigado.
klewis
Isso está funcionando bem para mim. Obrigado
Yang Wang
21

Usei o seguinte comando para copiar minhas extensões de vscode para vscode insiders:

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

O argumento -L 1nos permite executar o comando code-insiders --install-extensionuma vez para cada linha de entrada gerada porcode --list-extensions

MUG4N
fonte
Isso é muito útil para o init.shrepositório no meu dotfiles. Primeiro, instalo extensões de um arquivo e depois escrevo todas as extensões atualmente instaladas no arquivo. A única desvantagem é que eu precisaria excluir o arquivo se quiser remover uma extensão, mas ele funcionará se eu adicionar uma.
ThaJay
11

Gere comando do Windows para extensões de instalação.

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

Para Linux

Em OLD_MACHINE

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

EM NEW_MACHINE

cat vscode-extensions.list | xargs -L 1 code --install-extension
Falieson
fonte
cat: vscode-extensions.list: No such file or directory
vsync
Parece que você pode melhorar sua resposta especificando que o vscode-extensions.listarquivo deve ser copiado da máquina antiga para a nova.
Jørn Jensen
7

Abra o console do VScode e escreva:

code --list-extensions (ou code-insiders --list-extensions se o vscode insider estiver instalado)

Em seguida, compartilhe com os colegas a linha de comando:

code --install-extension {ext1} --install-extension {ext2} --install-extension {extN}substituindo {ext1}, {ext2}, ...,{extN} com a extensão tou listada

Para vscode insider: code-insiders --install-extension {ext1} ...

Se eles copiarem / colarem no terminal de linha de comando vscode, instalarão as extensões compartilhadas

Mais informações sobre gerenciamento de extensão de linha de comando

Damien Leroux
fonte
3

Há uma extensão do Extension Manager , que pode ajudar. Parece permitir a instalação de um conjunto de extensões especificado no settings.json.

Michael_Scharf
fonte
Eu tentei, mas esse plugin não será instalado jshint que eu tentei adicionar ao meu arquivo de configurações ...
Andrew
3

A resposta de Benny no subsistema Windows com Linux:

C:\> code --list-extensions | wsl xargs -L 1 echo code --install-extension
Álvaro González
fonte
3

Extensões de despejo:

code --list-extensions > extensions.txt

Instale extensões com bash (Linux, OSX e WSL):

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

Instale extensões no Windows com PowerShell:

cat extensions.txt |% { code --install-extension $_}
Morten
fonte
11
Infelizmente isso não funciona. Ele usa --list-extensions, o que não é instalado, por isso deve ser algo em linha, --install-extensionmas quando alterado para isso ainda não funciona
atwright147 29/01
3

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

Uma maneira melhor de compartilhar a lista de extensões é criar um conjunto de extensões com base no espaço de trabalho para seus colegas.

Após gerar uma lista de extensões via code --list-extensions | xargs -L 1 echo code --install-extension(verifique se você $PATHcontém a entrada Código do Visual StudioC:\Program Files\Microsoft VS Code\bin\ antes de executar comandos de código),

execute o Extensions: Configure Recommended Extensions (Workspace Folder)comando Código do Visual Studio ( Ctrl+ Shift+ P) e coloque extensões no gerado .vscode/extensions.json:

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

Abri a pasta de extensões do Visual Studio Code e executei:

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

Isso fornece uma lista da qual você pode extrair os nomes das extensões.

Juri
fonte
1

Se você deseja compartilhar a configuração das extensões da área de trabalho em uma equipe, consulte as extensões recomendadas recurso do VSCode.

Para gerar esse arquivo, abra o comando pallet> Configure Recommended Extensions (Workspace Folder). A partir daí, se você quiser obter todas as suas extensões atuais e colocá-las aqui, poderá usar o --list-extensionsmaterial mencionado em outras respostas, mas adicione um pouco de awk para torná-lo colável em uma matriz json (você pode avançar mais ou menos com como quiser, este é apenas um exemplo rápido):

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

A vantagem desse método é que a configuração da área de trabalho em toda a equipe pode ser verificada no controle de origem. Com esse arquivo presente em um projeto, quando o projeto for aberto, o VSCode notificará o usuário sobre a existência de extensões recomendadas para instalação (se elas ainda não as tiverem) e poderá instalá-las todas com o pressionar de um único botão.

eziegl
fonte
1
  1. code --list-extensions > list

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

  3. copie o conteúdo do arquivo liste adicione .vscode/extensions.json na "recommendations" seção

  4. Se extensions.jsonnão existir, crie um arquivo com o seguinte conteúdo

{
    "recommendations": [
        //add content of file list here
    ]
}
  1. compartilhe o extensions.jsonarquivo e peça a outro usuário para adicionar à .vscodepasta. O vscode solicitará a instalação de extensões.
codescópio
fonte
1

Como exportar suas extensões de código VS do terminal aqui é git, pois pode ser essa ajuda para alguém.

Como exportar suas extensões de código VS do terminal

Nota: Apenas sistemas do tipo Unix .

1) Exporte suas extensões para um arquivo shell:

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

2) Verifique o arquivo do instalador de extensões:

less my_vscode_extesions.sh

Instale suas extensões (opcional)

Execute o comando my_vscode_extensions.shusando Bash :

bash my_vscode_extensions.sh
rohityadav
fonte
0

Para aqueles que desejam saber como copiar suas extensões do Visual Studio Code para o Visual Studio Code, use esta modificação da resposta de Benny:

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