Wie exportiere ich VSCode-Einstellungen?

226

Wie ist es möglich, alle Visual Studio Code-Einstellungen und Plugins zu exportieren und auf einen anderen Computer zu importieren?

kagarlickij
quelle
1
Als Referenz bietet Code einen portablen Modus, sodass Sie den Installationsordner einfach verschieben können.
Doruk Karınca

Antworten:

165

Es gibt eine Erweiterung für Visual Studio-Code namens Settings Sync https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync

Es synchronisiert Ihre Einstellungen nach Gist (Gist nach GitHub). Es funktioniert genauso wie die Atom.io-Erweiterung namens settings-sync.

michalczukm
quelle
7
Ist das wirklich ein Export? Ich würde einen Export-Workflow exportieren, um eine Datei oder einen Satz von Dateien zu generieren, die Einstellungen in einem bestimmten Verzeichnis enthalten - ohne auf Dienste von Drittanbietern und das zugrunde liegende Setup angewiesen zu sein.
Éliette
1
Natürlich kannst du es schaffen. Das externe Paket ist nicht erforderlich, aber es hält Ihre Pakete zwischen mehr VSC-Instanzen synchron (mit Instanzen meine ich mehrere Installationen)
michalczukm
3
Diese Erweiterung hat bei mir überhaupt nicht funktioniert. Es wird nur "Fehler nicht gefunden" angezeigt, wenn Sie versuchen, die Einstellungen auf einen anderen Computer zu importieren, und ich habe die Anweisungen genau befolgt. Seien Sie vorsichtig, wenn Sie sich dafür entscheiden.
DCP
1
@dcp Dies liegt an einer ungültigen Haupt-ID. Sie können die Ausgabe öffnen, um den Autor zu informieren
Shan Khan
Kann ich Einstellungen kopieren, ohne die alte Version auszuführen, und nur auf die Festplatte zugreifen, auf der sie installiert wurde?
Kostanos
274

Mit der aktuellen Version von VSCode zum jetzigen Zeitpunkt (1.22.1) finden Sie Ihre Einstellungen in

  • ~/.config/Code/User unter Linux (in meinem Fall ein Ubuntu-Derivat)
  • C:\Users\username\AppData\Roaming\Code\User unter Windows 10
  • ~/Library/Application Support/Code/User/unter Mac OS X (danke, Christophe De Troyer )

Die Dateien sind settings.jsonund keybindings.json. Kopieren Sie sie einfach auf den Zielcomputer.

Ihre Erweiterungen sind in

  • ~/.vscode/extensions unter Linux und Mac OS X.
  • C:\Users\username\.vscode\extensions unter Windows 10 (zB im Wesentlichen am selben Ort)

Alternativ können Sie einfach zu den Erweiterungen gehen, installierte Erweiterungen anzeigen und diese auf Ihrer Zielinstallation installieren. Für mich hat das Kopieren der Erweiterungen einwandfrei funktioniert, es kann jedoch erweiterungsspezifisch sein, insbesondere beim Wechseln zwischen Plattformen, je nachdem, was die Erweiterung tut.

TJ Crowder
quelle
2
% APPDATA% \ Code,% USERPROFILE% \. Vscode \ extensions <- Verwenden Sie diese in Windows, damit Sie den Benutzernamen nicht in den Pfad hin und her eingeben müssen
Mahn
@zerohedge Ich gehe davon aus, dass die arbeitsbereichsspezifischen Einstellungen in der .workspaceDatei oder im.vscode/settings.json
Maarten Fabré
44

Für die Nachwelt erwähnt dieser Beitrag :

In der neuesten Version von VSCode (Mai 2016) ist es jetzt möglich, die installierte Erweiterung in der Befehlszeile aufzulisten

code --list-extensions

Führen Sie auf dem Mac Folgendes aus:

"/Applications/Visual Studio Code.app//Contents/Resources/app/bin/code" --list-extensions  

So installieren Sie:

--install-extension <ext> //see 'code --help'
Big Rich
quelle
36

Ähnlich wie bei der Antwort von Big Rich können Sie Folgendes tun:

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

Dadurch werden Ihre Erweiterungen mit dem Befehl zum Installieren aufgelistet, sodass Sie einfach die gesamte Ausgabe kopieren und in Ihren anderen Computer einfügen können:

Beispiel:

code --install-extension EditorConfig.EditorConfig
code --install-extension aaron-bond.better-comments
code --install-extension christian-kohler.npm-intellisense
code --install-extension christian-kohler.path-intellisense
code --install-extension CoenraadS.bracket-pair-colorizer

Entnommen aus der hier gegebenen Antwort

Hinweis: Stellen Sie sicher, dass Sie Ihrem Pfad zuvor VS-Code hinzugefügt haben. Auf dem Mac können Sie Folgendes tun:

  1. Starten Sie VS Code
  2. Öffnen Sie die Befehlspalette (⇧⌘P) und geben Sie 'shell command' ein, um den Shell-Befehl zu finden: Installieren Sie den Befehl 'code' im PATH-Befehl.
Daniel Douglas
quelle
4

Ihre Benutzereinstellungen sind in ~/Library/Application\ Support/Code/User .

Wenn Sie sich keine Gedanken über die Synchronisierung machen und es sich um eine einmalige Sache handelt, können Sie einfach die Dateien keybindings.jsonund kopierensettings.json auf den entsprechenden Ordner auf der neuen Maschine.

Ihre Erweiterungen befinden sich im ~/.vscodeOrdner. Die meisten Erweiterungen verwenden keine nativen Bindungen und sollten beim Kopieren ordnungsgemäß funktionieren. Sie können diejenigen, die dies nicht tun, manuell neu installieren.

Kamagatos
quelle
4

Ich bevorzuge meine eigene Methode, um alle VSCode-Erweiterungen zwischen Laptops zu synchronisieren, indem ich ein .dotfileskleines Skript verwende, um Updates automatisch durchzuführen. Diese Methode hilft mir jedes Mal, wenn ich alle Erweiterungen, die ich habe, ohne eine einzige Mausaktivität in VSCode nach der Installation (über Brew) installieren möchte.

Also schreibe ich einfach jede neu hinzugefügte Erweiterung in die TXT- Datei, die in meinem .dotfilesOrdner gespeichert ist . Danach habe ich Pull - Master auf einem anderen Laptop Zweig erhalten up-to-date - Datei mit allen Erweiterungen.

Mit dem Skript, das Big Rich zuvor mit einer weiteren Änderung geschrieben hatte, kann ich alle Erweiterungen fast automatisch vollständig synchronisieren.

Skript

cat dart-extensions.txt | xargs -L 1 code --install-extension

Und es gibt noch eine weitere Möglichkeit, diesen Prozess zu automatisieren. Hier können Sie ein Skript hinzufügen, das in Echtzeit nach der VSCode-Erweiterung sucht. Jedes Mal, wenn Sie einen Unterschied zwischen dem code --list-extensionsBefehl und Ihrer TXT- Datei vornehmen .dotfiles, können Sie Ihre Datei einfach aktualisieren und auf Ihr Remote-Repo übertragen

Hamsternik
quelle
1

Ich habe ein Python-Skript zum Exportieren von vsc-Einstellungen in eine einzelne Zip-Datei erstellt. https://gist.github.com/wonderbeyond/661c686b64cb0cabb77a43b49b16b26e

Sie können die Zip-Datei in einen externen Speicher hochladen.

$ vsc-settings.py export
Exporting vsc settings:
created a temporary dump dir /tmp/tmpf88wo142
generating extensions list
copying /home/wonder/.config/Code/User/settings.json
copying /home/wonder/.config/Code/User/keybindings.json
copying /home/wonder/.config/Code/User/projects.json
copying /home/wonder/.config/Code/User/snippets
  adding: snippets/ (stored 0%)
  adding: snippets/go.json (deflated 56%)
  adding: projects.json (deflated 67%)
  adding: extensions.txt (deflated 40%)
  adding: keybindings.json (deflated 81%)
  adding: settings.json (deflated 59%)
VSC settings exported into /home/wonder/vsc-settings-2019-02-25-171337.zip

$ unzip -l /home/wonder/vsc-settings-2019-02-25-171337.zip
Archive:  /home/wonder/vsc-settings-2019-02-25-171337.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2019-02-25 17:13   snippets/
      942  2019-02-25 17:13   snippets/go.json
      519  2019-02-25 17:13   projects.json
      471  2019-02-25 17:13   extensions.txt
     2429  2019-02-25 17:13   keybindings.json
     2224  2019-02-25 17:13   settings.json
---------                     -------
     6585                     6 files

PS: Sie können einen vsc-settings.py importUnterbefehl für mich implementieren .

Wunder
quelle
0

Derzeit gibt es ein Problem mit offenen Funktionsanforderungen, das sich anscheinend in der Entwurfsvorschlagsphase befindet. Ich werde auf diese offizielle Unterstützung warten. Sie können das Problem abonnieren und Benachrichtigungen über den Fortschritt erhalten.

https://github.com/microsoft/vscode/issues/2743#issuecomment-560116420

König Holly
quelle
1
Seit einiger Zeit in Insider und Standard integriert. code.visualstudio.com/docs/editor/settings-sync
Mark
Dies ist nur eine Kopie der "Einstellungssynchronisierung", die darauf hinweist, dass Benutzer ihre Einstellungen in Microsoft Azure und nicht in Github speichern sollen. Es wäre schön, wenn Microsoft nur eine einfache Schaltfläche "Alle Einstellungen in eine einzelne Datei exportieren" erstellen würde.
Robert