Wie ist es möglich, alle Visual Studio Code-Einstellungen und Plugins zu exportieren und auf einen anderen Computer zu importieren?
Wie ist es möglich, alle Visual Studio Code-Einstellungen und Plugins zu exportieren und auf einen anderen Computer zu importieren?
Antworten:
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.
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.json
und 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.
.workspace
Datei oder im.vscode/settings.json
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'
Ä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:
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.json
und kopierensettings.json
auf den entsprechenden Ordner auf der neuen Maschine.
Ihre Erweiterungen befinden sich im ~/.vscode
Ordner. Die meisten Erweiterungen verwenden keine nativen Bindungen und sollten beim Kopieren ordnungsgemäß funktionieren. Sie können diejenigen, die dies nicht tun, manuell neu installieren.
Ich bevorzuge meine eigene Methode, um alle VSCode-Erweiterungen zwischen Laptops zu synchronisieren, indem ich ein .dotfiles
kleines 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 .dotfiles
Ordner 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.
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-extensions
Befehl und Ihrer TXT- Datei vornehmen .dotfiles
, können Sie Ihre Datei einfach aktualisieren und auf Ihr Remote-Repo übertragen
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 import
Unterbefehl für mich implementieren .
Danke für @michalczukm ,
Ich habe die " Settings Sync" eingerichtet Plugin " auf VSCode eingerichtet, um einige Einstellungen mit Gist zu synchronisieren.
Wenn Sie die "Einstellungssynchronisierung" verwenden möchten, können Sie diesen schönen Beitrag sehen.
Sichern und Synchronisieren der VSCode-Einstellungen mit einem GitHub Gist | Mike F. Robbins
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