Comment exporter les paramètres VSCode?


226

Comment est-il possible d'exporter tous les paramètres et plugins Visual Studio Code et de les importer sur une autre machine?


2
Pour référence, Code propose un mode portable pour que vous puissiez simplement déplacer le dossier d'installation.
Doruk Karınca

Réponses:


165

Il existe une extension pour Visual Studio Code, appelée Settings Sync https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync

Il synchronise vos paramètres par gist (Gist by GitHub). Il fonctionne de la même manière que l'extension Atom.io appelée settings-sync.


7
Est-ce vraiment une exportation? J'exporterais un flux de travail d'exportation pour générer un fichier ou un ensemble de fichiers contenant des paramètres dans un certain répertoire - sans compter sur des services tiers et la configuration sous-jacente.
Éliette

1
Bien sûr, vous pouvez le faire. Le package externe n'est pas nécessaire, mais il maintient la synchronisation de vos packages entre plusieurs instances VSC (par instances, je veux dire plusieurs instalations)
michalczukm

3
Cette extension n'a pas fonctionné du tout pour moi. Il donne juste "Erreur non trouvée" lorsque vous essayez d'importer les paramètres sur un autre ordinateur, et j'ai suivi les instructions à la lettre. Soyez prudent si vous décidez de l'utiliser.
dcp

1
@dcp cela est dû à un identifiant gist invalide, vous pouvez ouvrir le problème pour en informer l'auteur
Shan Khan

puis-je copier les paramètres sans exécuter l'ancienne version, simplement avoir accès au disque sur lequel il a été installé?
Kostanos

274

Avec la version actuelle de VSCode à ce jour (1.22.1), vous pouvez trouver vos paramètres dans

  • ~/.config/Code/User sous Linux (dans mon cas, un dérivé d'Ubuntu)
  • C:\Users\username\AppData\Roaming\Code\User sous Windows 10
  • ~/Library/Application Support/Code/User/sur Mac OS X (merci Christophe De Troyer )

Les fichiers sont settings.jsonet keybindings.json. Copiez-les simplement sur la machine cible.

Vos extensions sont en

  • ~/.vscode/extensions sous Linux et Mac OS X
  • C:\Users\username\.vscode\extensions sur Windows 10 (par exemple, essentiellement au même endroit)

Sinon, accédez simplement aux extensions, affichez les extensions installées et installez-les sur votre installation cible. Pour moi, la copie des extensions a très bien fonctionné, mais cela peut être spécifique à l'extension, en particulier si vous vous déplacez entre les plates-formes, selon ce que fait l'extension.


2
% APPDATA% \ Code,% USERPROFILE% \. Vscode \ extensions <- utilisez-les dans Windows pour ne pas avoir à taper le nom d'utilisateur dans les deux sens
Mahn

@zerohedge Je m'attends à ce que les paramètres spécifiques à l'espace de travail soient dans le .workspacefichier, ou dans.vscode/settings.json
Maarten Fabré

44

Pour la postérité, ce post mentionne,

dans la dernière version de VSCode (mai 2016), il est désormais possible de répertorier l'extension installée dans la ligne de commande

code --list-extensions

Sur Mac, exécutez quelque chose comme:

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

Pour installer, utilisez:

--install-extension <ext> //see 'code --help'

36

Semblable à la réponse donnée par Big Rich, vous pouvez effectuer les opérations suivantes:

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

Cela répertoriera vos extensions avec la commande pour les installer afin que vous puissiez simplement copier et coller la sortie entière dans votre autre machine:

Exemple:

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

Tiré de la réponse donnée ici

Remarque: assurez-vous d'avoir préalablement ajouté le code VS à votre chemin. Sur mac, vous pouvez effectuer les opérations suivantes:

  1. Lancer VS Code
  2. Ouvrez la palette de commandes (⇧⌘P) et tapez «commande shell» pour trouver la commande shell: installer la commande «code» dans la commande PATH.

4

Vos paramètres utilisateur sont entrés ~/Library/Application\ Support/Code/User.

Si vous n'êtes pas préoccupé par la synchronisation et que c'est une chose unique, vous pouvez simplement copier les fichiers keybindings.jsonetsettings.json le dossier correspondant sur votre nouvelle machine.

Vos extensions sont dans le ~/.vscodedossier. La plupart des extensions n'utilisent aucune liaison native et devraient fonctionner correctement lors de la copie. Vous pouvez réinstaller manuellement ceux qui ne le font pas.


4

Je préfère ma propre façon de synchroniser toutes les extensions VSCode entre les ordinateurs portables, en utilisant un .dotfilespetit script pour effectuer des mises à jour automatiquement. Cette méthode m'aide à chaque fois que je souhaite installer toutes les extensions que j'ai sans aucune activité de souris dans VSCode après l'installation (via brew).

J'écris donc chaque nouvelle extension ajoutée au fichier .txt stocké dans mon .dotfilesdossier. Après ça je tire maître branche sur un autre ordinateur portable pour obtenir le fichier mis à jour avec toutes les extensions.

En utilisant le script, que Big Rich avait écrit auparavant avec un autre changement, je peux totalement synchroniser toutes les extensions presque automatiquement.

Scénario

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

Et il existe également une autre façon d'automatiser ce processus. Ici, vous pouvez ajouter un script qui recherche l'extension VSCode en temps réel et chaque fois que vous prenez une différence entre une code --list-extensionscommande et votre fichier .txt , .dotfilesvous pouvez facilement mettre à jour votre fichier et le pousser vers votre dépôt distant


1

J'ai créé un script python pour exporter les paramètres vsc dans un seul fichier zip. https://gist.github.com/wonderbeyond/661c686b64cb0cabb77a43b49b16b26e

Vous pouvez télécharger le fichier zip sur un stockage externe.

$ 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: Vous pouvez implémenter la vsc-settings.py importsous-commande pour moi.



0

Il existe actuellement un problème de demande de fonctionnalité ouverte qui semble être en phase de proposition de conception. Je vais attendre ce soutien officiel. Vous pouvez vous abonner au problème et recevoir des notifications sur la progression.

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


1
Intégré pendant un certain temps dans Insiders et standard maintenant. code.visualstudio.com/docs/editor/settings-sync
Mark

Il s'agit simplement d'une copie de la «synchronisation des paramètres» qui indique aux utilisateurs de stocker leurs paramètres sur Microsoft Azure plutôt que sur Github. Ce serait bien si Microsoft venait de créer un simple bouton "exporter tous les paramètres dans un seul fichier".
Robert
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.