Como exportar configurações do VSCode?

226

Como é possível exportar todas as configurações e plugins do Visual Studio Code e importá-los para outra máquina?

kagarlickij
fonte
2
Para referência, o Code oferece um modo portátil, para que você possa simplesmente mover a pasta de instalação.
Doruk Karınca 18/08/19

Respostas:

165

Existe uma extensão para o Visual Studio Code, denominada Sincronização de configurações https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync

Ele sincroniza suas configurações por gist (Gist by GitHub). Funciona da mesma forma que a extensão Atom.io denominada settings-sync.

michalczukm
fonte
7
Isso é realmente uma exportação? Eu exportaria um fluxo de trabalho de exportação para gerar um arquivo ou conjunto de arquivos contendo configurações em algum diretório - sem depender de serviços de terceiros e da configuração subjacente.
Eliette
1
Claro que você pode fazer isso. O pacote externo não é necessário, mas ele mantém o seu pacotes de sincronização entre mais instâncias VSC (por instâncias quero dizer várias instalações)
michalczukm
3
Essa extensão não funcionou para mim. Apenas indica "Erro não encontrado" quando você tenta importar as configurações para outro computador e eu segui as instruções à risca. Tenha cuidado se você decidir usar isso.
dcp
1
@dcp isso é devido ao inválido ID da essência, você pode abrir questão de deixar o autor saber
Shan Khan
posso copiar as configurações sem executar a versão antiga, apenas tendo acesso ao disco em que foi instalado?
Kostanos
274

Com a versão atual do VSCode até o momento desta redação (1.22.1), você pode encontrar suas configurações em

  • ~/.config/Code/User no Linux (no meu caso, um derivado do Ubuntu)
  • C:\Users\username\AppData\Roaming\Code\User no Windows 10
  • ~/Library/Application Support/Code/User/no Mac OS X (obrigado, Christophe De Troyer )

Os arquivos são settings.jsone keybindings.json. Basta copiá-los para a máquina de destino.

Suas extensões estão em

  • ~/.vscode/extensions no Linux e Mac OS X
  • C:\Users\username\.vscode\extensions no Windows 10 (por exemplo, essencialmente o mesmo local)

Como alternativa, basta acessar Extensões, mostrar extensões instaladas e instalá-las na instalação de destino. Para mim, copiar as extensões funcionou bem, mas pode ser específico da extensão, principalmente se você estiver se movendo entre plataformas, dependendo do que a extensão faz.

TJ Crowder
fonte
2
% APPDATA% \ Code,% USERPROFILE% \. Vscode \ extensions <- use-os no Windows para não precisar digitar o nome de usuário no caminho de um lado para outro
Mahn
@zerohedge Espero que as configurações específicas do espaço de trabalho estejam no .workspacearquivo ou no.vscode/settings.json
Maarten Fabré
44

Para a posteridade, este post menciona:

na versão mais recente do VSCode (maio de 2016), agora é possível listar a extensão instalada na linha de comando

code --list-extensions

No Mac, execute algo como:

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

Para instalar, use:

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

Semelhante à resposta dada por Big Rich, você pode fazer o seguinte:

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

Isso listará suas extensões com o comando para instalá-las, para que você possa copiar e colar toda a saída em sua outra máquina:

Exemplo:

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

Retirado da resposta dada aqui

Nota: Certifique-se de ter adicionado código VS ao seu caminho com antecedência. No mac, você pode fazer o seguinte:

  1. Iniciar código VS
  2. Abra a paleta de comandos (⇧⌘P) e digite 'shell command' para encontrar o comando Shell Command: Install 'code' no comando PATH.
Daniel Douglas
fonte
4

Suas configurações de usuário estão dentro ~/Library/Application\ Support/Code/User.

Se você não está preocupado com a sincronização e é algo único, basta copiar os arquivos keybindings.jsone settings.jsona pasta correspondente em sua nova máquina.

Suas extensões estão na ~/.vscodepasta A maioria das extensões não está usando nenhuma ligação nativa e deve estar funcionando corretamente quando copiada. Você pode reinstalar manualmente aqueles que não o fazem.

Kamagatos
fonte
4

Eu sou o preferido da minha maneira de sincronizar todas as extensões VSCode entre laptops, usando .dotfilesum script pequeno para executar atualizações automaticamente. Dessa maneira, sempre que eu quero instalar todas as extensões que tenho, instalo sem nenhuma atividade de mouse no VSCode após a instalação (via brew).

Então, eu apenas escrevo cada nova extensão adicionada ao arquivo .txt armazenado na minha .dotfilespasta. Depois disso, puxo a ramificação principal em outro laptop para obter um arquivo atualizado com todas as extensões.

Usando o script, que o Big Rich havia escrito antes com mais uma mudança, posso sincronizar totalmente todas as extensões quase automaticamente.

Roteiro

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

E também há mais uma maneira de automatizar esse processo. Aqui, você pode adicionar um script que analisa a extensão VSCode em tempo real e, sempre que você faz uma diferença entre o code --list-extensionscomando e o arquivo .txt,.dotfiles pode atualizar o arquivo com facilidade e enviá-lo para o repositório remoto

Hamsternik
fonte
1

Eu criei um script python para exportar configurações vsc em um único arquivo zip. https://gist.github.com/wonderbeyond/661c686b64cb0cabb77a43b49b16b26e

Você pode fazer upload do arquivo zip para um armazenamento externo.

$ 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: Você pode implementar o vsc-settings.py importsubcomando para mim.

maravilha
fonte
0

Atualmente, existe um problema de solicitação de recurso aberto que parece estar na fase da proposta de design. Vou esperar por este apoio oficial. Você pode se inscrever no problema e receber notificações sobre o andamento.

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

Rei Holly
fonte
1
Incorporado por um tempo no Insiders e padrão agora. code.visualstudio.com/docs/editor/settings-sync
marca
Esta é apenas uma cópia da "Sincronização de configurações" que aponta as pessoas para armazenar suas configurações no Microsoft Azure, e não no Github. Seria bom se a Microsoft fizesse um simples botão "exportar todas as configurações para um único arquivo".
Robert