Wie können Sie die Visual Studio Code-Erweiterungsliste exportieren?

343

Ich muss alle meine installierten Erweiterungen an meine Kollegen senden. Wie kann ich sie exportieren?

Der Erweiterungsmanager scheint nichts zu tun ... Er installiert keine Erweiterung.

Andrew
quelle

Antworten:

574

Automatisch

Wenn Sie sich auf ein einfaches One-Stop-Tool freuen, das dies für Sie erledigt, empfehle ich Ihnen, sich die Erweiterung " Einstellungen synchronisieren" anzusehen .

Es wird erlauben

  1. Export Ihrer Konfiguration und Erweiterungen
  2. Teilen Sie es mit Kollegen und Teams. Sie können die Konfiguration aktualisieren. Ihre Einstellungen werden automatisch aktualisiert.

Handbuch

  1. Stellen Sie sicher, dass Sie über die aktuellste Version von Visual Studio Code verfügen. Wenn Sie über ein Unternehmensportal installieren, verfügen Sie möglicherweise nicht über die aktuellste Version.

  2. Auf Maschine A.

    Unix:

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

    Windows (PowerShell, z. B. mithilfe des integrierten Terminals von Visual Studio Code):

    code --list-extensions | % { "code --install-extension $_" }
    
  3. Kopieren Sie die Echoausgabe und fügen Sie sie in Maschine B ein

    Beispielausgabe

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

Bitte stellen Sie sicher, dass Sie die codeBefehlszeile installiert haben. Weitere Informationen finden Sie unter Command Line Interface (CLI) .

Benny
quelle
9
Kann jemand eine Windows-freundliche Version dieses Befehls bereitstellen? xargs scheint unter UNIX einzigartig zu sein.
Damanptyltd
11
@damanptyltd Wenn Sie GitHub verwenden, ist Git Bash wahrscheinlich auf Ihrem Windows-Laptop / PC installiert. Sie können Unix / Mac-Befehle verwenden, um - so habe ich es zum
Laufen gebracht
8
Für alle, die glauben, eine Windows-Version zu benötigen, beachten Sie bitte, dass Sie diese über die vscode-Befehlszeile ausführen sollten. Sie können sie erhalten, indem Sie Strg + `drücken und sie dann einfach einfügen!
Jared
1
Ich habe den obigen Befehl Strg + `mit --list-extensions verwendet, um meine Einstellungen aus meinem Windows-vscode zu entfernen, und dann Strg +` verwendet, um den Code einzufügen - Ergebnisse in meine vscode-Instanz unter Linux (über RDP) einzufügen. Es hat einfach funktioniert. Alle heruntergeladen und installiert. Genial
Dean
5
Dies sollte unter Windows PowerShell funktionieren: code --list-extensions | % { "code --install-extension $_" }(Ich habe dies auch in der Antwort bearbeitet)
powerzone3000
196

Ich musste dies einige Male selbst tun - insbesondere bei der Installation auf einem anderen Computer.

Bei häufig gestellten Fragen erhalten Sie den Speicherort Ihres Ordners

Visual Studio Code sucht nach Erweiterungen in Ihrem Erweiterungsordner .vscode / extensions. Abhängig von Ihrer Plattform befindet es sich:

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

Das sollte Ihnen eine Liste der Erweiterungen zeigen.

Ich hatte auch Erfolg mit Visual Studio Code Settings Sync Extension, um Einstellungen mit GitHub Gist zu synchronisieren.

In der neuesten Version von Visual Studio Code (Mai 2016) ist es jetzt möglich, die installierten Erweiterungen in der Befehlszeile aufzulisten:

code --list-extensions
MarkP
quelle
6
Für mich (Linux, Code Version 1.7.1) funktioniert es nicht ... es startet nur VS Code.
Vanthome
@vanthome Ich habe es nie unter Linux versucht, aber ich denke, das ist das gleiche: Ich hatte zuerst das gleiche Problem wie Sie, bis mir klar wurde, dass sich das Befehlszeilenprogramm tatsächlich im binOrdner der Anwendungsinstallation befindet. Wenn Sie sich den Inhalt ansehen, werden Sie feststellen, dass er die ausführbare Hauptdatei aufruft, ihn jedoch anweist, stattdessen die CLI auszuführen.
Yannick Meine
1
Zu Ihrer Information: Sie müssen den Befehl 'Shell: Installieren Sie den Befehl' code 'in PATH' über die Befehlspalette (cmd / ctrl-shift-p) in VS Code ausführen und dann den obigen Code in Ihrem Terminal ausführen, damit dies funktioniert.
Carlin
51

Ich habe eine Erweiterung entwickelt, die alle Visual Studio-Codeeinstellungen über mehrere Instanzen hinweg synchronisiert.

Hauptmerkmale

  1. Verwenden Sie Ihr Github-Konto-Token.
  2. Einfaches Hochladen und Herunterladen mit einem Klick.
  3. Speichert alle Einstellungen und Snippets-Dateien.
  4. Upload-Taste: Umschalt + Alt + u
  5. Download-Taste: Umschalt + Alt + d
  6. Geben Sie Sync ein, um alle Synchronisierungsoptionen anzuzeigen

Es wird synchronisiert

  1. Einstellungsdatei
  2. Schlüsselbindungsdatei
  3. Datei starten
  4. Snippets-Ordner
  5. VSCode- Erweiterungen

Detaillierte Dokumentationsquelle

VSCode Sync ReadMe

Hier herunterladen: VS Code Settings Sync

Shan Khan
quelle
Installiert dies automatisch synchronisierte Erweiterungen?
Raghavendra
Ja! Versuchen Sie das und lassen Sie es mich wissen
Shan Khan
Welche Ausnahme erhalten Sie in der Entwicklerkonsole? Öffnen Sie eine Github-Ausgabe im Repo und wir werden sehen
Shan Khan
Hey, ich habe deine Erweiterung verwendet, es ist großartig, aber ich weiß nicht, wie ich meine Erweiterungsliste mit meinem Freund teilen soll.
Vanduc1102
@ vanduc1102 - Überprüfen Sie diesen Link: shanalikhan.github.io/2016/09/02/…
Shan Khan
28

Windows (PowerShell) -Version von @ Bennys Antwort

Maschine A:

Im Visual Studio Code PowerShell-Terminal:

code --list-extensions > extensions.list

Maschine B:

  1. Kopieren Sie die Datei extension.list auf das Gerät. B.

  2. Im Visual Studio Code PowerShell-Terminal:

    cat extensions.list |% { code --install-extension $_}
    
milanio
quelle
1
Dadurch wird nur ein neues Codefenster mit der Registerkarte Willkommen für mich geöffnet.
Gandalf Saxe
1
Diese Antwort funktioniert perfekt für mich - ich hatte überhaupt keine Probleme, alles zu installieren.
SE schlägt wieder leider
Dies ist meine bevorzugte Antwort, da sie nicht auf xargs basiert (im Vergleich zu der höher bewerteten Antwort). Wenn nur "Code" als Befehl erkannt würde ... seufz (es ist immer etwas)
GG2
Dies funktionierte perfekt, um meine .list-Datei zu erstellen und mir zu zeigen, welche Erweiterungen ich derzeit habe. Ich brauchte nur die Liste als Referenz. Der Kopiervorgang musste nicht durchgeführt werden. Danke vielmals.
Klewis
Das funktioniert gut für mich. Danke
Yang Wang
21

Ich habe den folgenden Befehl verwendet, um meine Erweiterungen von vscode nach vscode insiders zu kopieren:

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

Mit diesem Argument -L 1können wir den Befehl code-insiders --install-extensionfür jede von generierte Eingabezeile einmal ausführencode --list-extensions

MUG4N
quelle
Dies ist sehr nützlich für das init.shRepo in meinen Dotfiles. Ich installiere zuerst Erweiterungen aus einer Datei und schreibe dann alle aktuell installierten Erweiterungen in die Datei. Der einzige Nachteil ist, dass ich die Datei löschen müsste, wenn ich eine Erweiterung entfernen möchte, aber es sollte funktionieren, wenn ich eine hinzufüge.
Donnerstag,
11

Generieren Sie einen Windows-Befehl für Installationserweiterungen.

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

Für Linux

In OLD_MACHINE

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

IN NEW_MACHINE

cat vscode-extensions.list | xargs -L 1 code --install-extension
Falieson
quelle
cat: vscode-extensions.list: No such file or directory
vsync
Anscheinend können Sie Ihre Antwort verbessern, indem Sie angeben, dass die vscode-extensions.listDatei vom alten auf den neuen Computer kopiert werden muss.
Jørn Jensen
7

Öffnen Sie die VScode-Konsole und schreiben Sie:

code --list-extensions(oder code-insiders --list-extensionswenn vscode insider installiert ist)

Teilen Sie dann mit Kollegen die Befehlszeile:

code --install-extension {ext1} --install-extension {ext2} --install-extension {extN}Ersetzen {ext1}, {ext2}..., {extN}mit Tou der Erweiterung aufgelistet

Für vscode Insider: code-insiders --install-extension {ext1} ...

Wenn sie es in das vscode-Befehlszeilenterminal kopieren / einfügen, installieren sie die freigegebenen Erweiterungen

Weitere Informationen zur Verwaltung von Befehlszeilenerweiterungen

Damien Leroux
quelle
3

Es gibt eine Extension Manager- Erweiterung, die möglicherweise hilfreich ist. Es scheint möglich zu sein, eine Reihe von Erweiterungen zu installieren, die in der settings.json.

Michael_Scharf
quelle
Ich habe es versucht, aber dieses Plugin installiert nicht jshint, das ich versucht habe, zu meiner Einstellungsdatei hinzuzufügen ...
Andrew
3

Bennys Antwort unter Windows mit Linux-Subsystem:

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

Dump-Erweiterungen:

code --list-extensions > extensions.txt

Installieren Sie Erweiterungen mit bash (Linux, OSX und WSL):

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

Installieren Sie Erweiterungen unter Windows mit PowerShell:

cat extensions.txt |% { code --install-extension $_}
Morten
quelle
1
Leider funktioniert das nicht. Es verwendet --list-extensions, was nicht installiert wird, also sollte es eine Zeile sein, --install-extensionaber wenn es geändert wird, funktioniert es immer noch nicht
atwright147
3

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

Eine bessere Möglichkeit, die Erweiterungsliste freizugeben, besteht darin, einen arbeitsbereichsbasierten Erweiterungssatz für Ihre Kollegen zu erstellen.

Nachdem Sie eine Liste der Erweiterungen über erstellt haben code --list-extensions | xargs -L 1 echo code --install-extension(überprüfen Sie, ob der $PATHEintrag in Visual Studio Code enthalten ist, C:\Program Files\Microsoft VS Code\bin\bevor Sie Codebefehle ausführen),

Führen Sie den Extensions: Configure Recommended Extensions (Workspace Folder)Befehl Visual Studio Code ( Ctrl+ Shift+ P) aus und fügen Sie Erweiterungen in die generierten Dateien ein .vscode/extensions.json:

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

Ich habe den Visual Studio Code-Erweiterungsordner geöffnet und Folgendes ausgeführt:

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

Dadurch erhalten Sie eine Liste, aus der Sie die Nebenstellennamen extrahieren können.

Juri
quelle
1

Wenn Sie die Konfiguration von Arbeitsbereichserweiterungen für ein Team freigeben möchten , sollten Sie sich die Funktion " Empfohlene Erweiterungen" von VSCode ansehen.

Um diese Datei zu generieren, öffnen Sie die Befehlspalette> Configure Recommended Extensions (Workspace Folder). Wenn Sie von dort aus alle Ihre aktuellen Erweiterungen abrufen und hier --list-extensionseinfügen möchten, können Sie die in anderen Antworten genannten Informationen verwenden, aber etwas awk hinzufügen, um sie in ein JSON-Array einfügen zu können (Sie können mehr oder weniger fortgeschritten sein dies wie Sie möchten, dies ist nur ein kurzes Beispiel):

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

Der Vorteil dieser Methode besteht darin, dass Ihre teamweite Arbeitsbereichskonfiguration in die Quellcodeverwaltung eingecheckt werden kann. Wenn diese Datei in einem Projekt vorhanden ist, benachrichtigt VSCode den Benutzer beim Öffnen des Projekts, dass empfohlene Erweiterungen installiert werden müssen (sofern diese noch nicht vorhanden sind), und kann sie alle mit einem einzigen Tastendruck installieren.

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

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

  3. Kopieren Sie den Inhalt der Datei listund fügen Sie ihn .vscode/extensions.json im "recommendations" Abschnitt hinzu.

  4. Wenn extensions.jsonnicht vorhanden, erstellen Sie eine Datei mit folgendem Inhalt

{
    "recommendations": [
        //add content of file list here
    ]
}
  1. Geben Sie die extensions.jsonDatei frei und bitten Sie einen anderen Benutzer, sie dem .vscodeOrdner hinzuzufügen . vscode fordert Sie zur Installation von Erweiterungen auf.
Codescope
quelle
1

Wie Sie Ihre VS-Code-Erweiterungen vom Terminal hier exportieren können, ist eine Hilfe für jemanden.

So exportieren Sie Ihre VS-Code-Erweiterungen vom Terminal

Hinweis: Nur Unix-ähnliche Systeme .

1) Exportieren Sie Ihre Erweiterungen in eine Shell-Datei:

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

2) Überprüfen Sie die Installationsdatei Ihrer Erweiterungen:

less my_vscode_extesions.sh

Installieren Sie Ihre Erweiterungen (optional)

Führen Sie den Befehl my_vscode_extensions.shusing Bash aus :

bash my_vscode_extensions.sh
Rohityadav
quelle
0

Verwenden Sie diese Modifikation von Bennys Antwort für diejenigen, die sich fragen, wie Sie Ihre Erweiterungen von Visual Studio Code auf Insider von Visual Studio Code kopieren können:

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