Come è possibile esportare l'elenco delle estensioni del codice di Visual Studio?


343

Devo inviare tutte le estensioni installate ai miei colleghi. Come posso esportarli?

Il gestore estensioni sembra non fare nulla ... Non installerà alcuna estensione.

Risposte:


576

Automatico

Se non vedi l'ora di utilizzare un semplice strumento one-stop per farlo, ti suggerirei di esaminare l' estensione di sincronizzazione delle impostazioni .

Lo permetterà

  1. Esportazione della configurazione e delle estensioni
  2. Condividilo con colleghi e squadre. È possibile aggiornare la configurazione. Le loro impostazioni verranno aggiornate automaticamente.

Manuale

  1. Assicurati di avere la versione più recente di Visual Studio Code. Se si installa tramite un portale aziendale, è possibile che non si disponga della versione più recente.

  2. Sulla macchina A

    Unix:

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

    Windows (PowerShell, ad esempio utilizzando il terminale integrato di Visual Studio Code):

    code --list-extensions | % { "code --install-extension $_" }
    
  3. Copia e incolla l'output dell'eco sulla macchina B

    Uscita campione

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

Assicurati di avere codeinstallato la riga di comando. Per ulteriori informazioni, visitare l' interfaccia della riga di comando (CLI) .


9
Qualcuno può fornire una versione per Windows di questo comando? xargs sembra essere unico per UNIX.
damanptyltd

12
@damanptyltd Se usi GitHub, probabilmente hai Git Bash installato sul tuo laptop / PC Windows. Puoi usare i comandi Unix / Mac in questo - così come l'ho fatto funzionare
Drenai il

8
per chiunque pensi di aver bisogno di una versione di Windows, tieni presente che dovresti eseguirlo dalla riga di comando di vscode, puoi ottenerlo premendo Ctrl + `, quindi incollalo!
Jared,

1
Ho usato il comando Ctrl + `con --list-extensions sopra per estrarre le mie impostazioni dal mio vscode di Windows e quindi ho usato Ctrl +` per incollare il codice --install i risultati nella mia istanza di vscode su Linux (su RDP). Ha appena funzionato. Scaricati e installati tutti. Fantastico
Decano

5
Questo dovrebbe funzionare con Windows PowerShell: code --list-extensions | % { "code --install-extension $_" }(Ho anche modificato questo nella risposta)
powerzone3000

196

Ho dovuto farlo da solo alcune volte, specialmente durante l'installazione su un altro computer.

Le domande più comuni ti daranno la posizione della tua cartella

Visual Studio Code cerca le estensioni nella cartella delle estensioni .vscode / extensions. A seconda della tua piattaforma si trova:

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

Questo dovrebbe mostrarti un elenco delle estensioni.

Ho anche avuto successo utilizzando l' estensione di sincronizzazione delle impostazioni del codice di Visual Studio per sincronizzare le impostazioni su GitHub.

Nell'ultima versione di Visual Studio Code (maggio 2016), ora è possibile elencare le estensioni installate sulla riga di comando:

code --list-extensions

6
Per me (linux, codice versione 1.7.1) non funziona ... avvia semplicemente VS Code.
vanthome

@vanthome Non ho mai provato su Linux ma penso che sia lo stesso: ho prima avuto lo stesso problema che hai avuto, fino a quando ho capito che l'utilità della riga di comando si trova effettivamente nella bincartella dell'installazione dell'applicazione. Se guardi il suo contenuto vedrai che chiama l'eseguibile principale ma gli dice invece di eseguire la CLI.
Yannick Meine,

1
Cordiali saluti, dovrai eseguire 'Comando Shell: installa il comando' codice 'in PERCORSO dalla tavolozza dei comandi (cmd / ctrl-shift-p) all'interno di VS Code e quindi esegui il codice sopra nel tuo terminale per consentire che funzioni.
Carlin,

51

Ho sviluppato un'estensione che sincronizzerà tutte le impostazioni del codice di Visual Studio in più istanze.

Funzionalità chiave

  1. Usa il token del tuo account github.
  2. Facile da caricare e scaricare con un clic.
  3. Salva tutte le impostazioni e i file dei frammenti.
  4. Tasto di caricamento: Maiusc + Alt + u
  5. Tasto download: Maiusc + Alt + d
  6. Digita Sincronizza per visualizzare tutte le opzioni di sincronizzazione

Si sincronizza

  1. File delle impostazioni
  2. File di associazione dei tasti
  3. Avvia file
  4. Cartella Snippet
  5. Estensioni VSCode

Fonte della documentazione di dettaglio

Leggimi di sincronizzazione VSCode

Scarica qui: Sincronizzazione impostazioni codice VS.


questo installa automaticamente le estensioni sincronizzate?
Raghavendra,

Sì! Prova e fammi sapere
Shan Khan,

quale eccezione stai ottenendo nella console per gli sviluppatori? aprire un numero di github nel repository e vedremo
Shan Khan,

Ehi, ho usato la tua estensione, è fantastico, ma non so come condividere la mia lista di estensioni con il mio amico.
vanduc1102,

@ vanduc1102 - Controlla questo link: shanalikhan.github.io/2016/09/02/…
Shan Khan

28

Versione di Windows (PowerShell) della risposta di @ Benny

Macchina A:

Nel terminale PowerShell di Visual Studio Code:

code --list-extensions > extensions.list

Macchina B:

  1. Copia extension.list sulla macchina B

  2. Nel terminale PowerShell di Visual Studio Code:

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

1
Questo avvia solo una nuova finestra di codice con la scheda Benvenuti per me.
Gandalf Saxe,

1
Questa risposta funziona perfettamente per me: non ho avuto nessun problema a installare tutto.
SE colpisce ancora purtroppo il

Questa è la mia risposta preferita, perché non si basa su xargs (rispetto alla risposta con un punteggio più alto). Ora, se solo "codice" fosse riconosciuto come comando ... sigh (è sempre qualcosa)
GG2

Questo ha funzionato perfettamente nel creare il mio file .list e mostrandomi quali estensioni ho attualmente a dondolo. Avevo solo bisogno dell'elenco come riferimento. Non è stato necessario eseguire il processo di copia. Grazie molto.
Klewis

Semplice, basso sforzo ed efficace. Questa dovrebbe essere la risposta.
Principessa Innah,

21

Ho usato il seguente comando per copiare le mie estensioni da vscode a insider vscode:

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

L'argomento -L 1ci consente di eseguire il comando code-insiders --install-extensionuna volta per ogni riga di input generata dacode --list-extensions


Questo è molto utile per il init.shrepository dei miei dotfile. Prima installo le estensioni da un file e quindi scrivo tutte le estensioni attualmente installate nel file. L'unico aspetto negativo è che dovrei eliminare il file se voglio rimuovere un'estensione ma dovrebbe funzionare se ne aggiungo una.
ThaJay

11

Genera comando windows per le estensioni di installazione.

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

9

Per Linux

In OLD_MACHINE

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

IN NEW_MACHINE

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

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

Sembra che tu possa migliorare la tua risposta specificando che il vscode-extensions.listfile deve essere copiato dalla vecchia macchina alla nuova macchina.
Jørn Jensen,

7

Apri la console di VScode e scrivi:

code --list-extensions(o code-insiders --list-extensionsse è installato vscode insider)

Quindi condividere con i colleghi la linea di comando:

code --install-extension {ext1} --install-extension {ext2} --install-extension {extN}sostituzione {ext1}, {ext2}, ..., {extN}con l'estensione Tou elencato

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

Se lo copiano / incollano nel terminale di linea commande vscode, installeranno le estensioni condivise

Ulteriori informazioni sulla gestione dell'estensione della riga di comando


3

C'è un'estensione Extension Manager , che può essere d'aiuto. Sembra consentire l'installazione di un set di estensioni specificato in settings.json.


L'ho provato ma quel plugin non installa jshint che ho provato ad aggiungere al mio file di impostazioni ...
Andrew


3

Estensioni di dump:

code --list-extensions > extensions.txt

Installa le estensioni con bash (Linux, OSX e WSL):

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

Installa le estensioni su Windows con PowerShell:

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

1
Purtroppo questo non funziona. Utilizza --list-extensions, che non si installa, quindi dovrebbe essere qualcosa di linea --install-extensionma quando viene modificato in quello non funziona ancora
atwright147

3

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

Un modo migliore per condividere l'elenco delle estensioni è creare un set di estensioni basato sull'area di lavoro per i colleghi.

Dopo aver generato un elenco di estensioni tramite code --list-extensions | xargs -L 1 echo code --install-extension(controlla di aver $PATHinserito la voce del codice di Visual Studio C:\Program Files\Microsoft VS Code\bin\prima di eseguire i comandi del codice),

eseguire il Extensions: Configure Recommended Extensions (Workspace Folder)comando Codice di Visual Studio ( Ctrl+ Shift+ P) e inserire le estensioni nel generato .vscode/extensions.json:

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

2

Ho aperto la cartella delle estensioni del codice di Visual Studio ed eseguito:

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

Questo ti dà un elenco da cui puoi estrarre i nomi delle estensioni.


1

Se si intende condividere la configurazione delle estensioni dello spazio di lavoro tra un team, è necessario esaminare la funzione Estensioni consigliate di VSCode.

Per generare questo file aprire il comando pallet> Configure Recommended Extensions (Workspace Folder). Da lì se vuoi ottenere tutte le tue estensioni correnti e inserirle qui puoi usare le --list-extensionscose menzionate in altre risposte, ma aggiungi un po 'di awk per renderlo incollabile in un array json (puoi ottenere più o meno avanzato con questo come ti pare, questo è solo un rapido esempio):

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

Il vantaggio di questo metodo è che la configurazione della tua area di lavoro a livello di team può essere verificata nel controllo del codice sorgente. Con questo file presente in un progetto, quando il progetto viene aperto VSCode avviserà l'utente che ci sono estensioni consigliate da installare (se non le hanno già) e possono installarle tutte con un solo pulsante.


1
  1. code --list-extensions > list

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

  3. copia il contenuto del file liste aggiungilo .vscode/extensions.json nella "recommendations" sezione.

  4. Se extensions.jsonnon esiste, crea il file con i seguenti contenuti

{
    "recommendations": [
        //add content of file list here
    ]
}
  1. condividere extensions.jsonfile e chiedere a un altro utente di aggiungere alla .vscodecartella. vscode richiederà l'installazione di estensioni.

1

Come esportare le tue estensioni VS Code dal terminale qui è git per questo potrebbe essere questo aiuto per qualcuno.

Come esportare le estensioni VS Code dal terminale

Nota: solo sistemi simili a Unix .

1) Esporta le tue estensioni in un file shell:

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

2) Verifica il file di installazione delle estensioni:

less my_vscode_extesions.sh

Installa le tue estensioni (opzionale)

Esegui my_vscode_extensions.shusando il comando Bash :

bash my_vscode_extensions.sh

0

Per coloro che si chiedono come copiare le estensioni da Visual Studio Code agli addetti ai lavori di Visual Studio Code, usa questa modifica della risposta di Benny:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.