Como faço backup das minhas configurações de código VS e da lista de extensões instaladas?

75

Acabei de passar pelo processo de instalação do VS Code duas vezes. A instalação inicial é rápida e simples (como é o próprio editor), mas tive que lembrar a lista de extensões que instalei e estou instalando novas com uma grande taxa.

Com o Sublime Text, eu apenas copiava um arquivo de configurações para outro PC e poderia instalar automaticamente quaisquer dependências de fluxo de trabalho dessa maneira, mas qual é a abordagem do VS Code?

Posso fazer backup de um arquivo JSON 'settings' ou similar para poder recriar facilmente meu ambiente de trabalho (completo com extensões)?

Astravagrant
fonte

Respostas:

60

Enviei uma resposta para isso no site principal do StackOverflow - colado abaixo para contextualizar

Preciso fazer isso algumas vezes - especialmente ao instalar em outra máquina.

Dependendo da sua plataforma, a pasta de extensões está localizada em um dos seguintes caminhos:

  • Janelas: %USERPROFILE%\.vscode\extensions
  • Mac: ~/.vscode/extensions
  • Linux: ~/.vscode/extensions

O VS Code procura extensões na sua pasta de extensões .vscode/extensions. Dependendo da sua plataforma, ela está localizada:

  • janelas %USERPROFILE%\.vscode\extensions
  • Mac ~/.vscode/extensions
  • Linux ~/.vscode/extensions

Isso deve mostrar uma lista das extensões

Também tive sucesso usando a Extensão de sincronização de configurações de código do Visual Studio para sincronizar configurações com a essência do GitHub

EDIT: 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
MarkP
fonte
Settings Syncextensão funcionou como charme, apenas exportou minhas configurações do OS X para o Linux Mint.
vikas027
7
Não quero sincronizar! Eu quero fazer backup! Você não respondeu adequadamente à pergunta original.
precisa saber é o seguinte
10

A extensão de sincronização de configurações deve funcionar, embora o UX seja mais ou menos.

Ele sincroniza suas configurações com um GitHub Gist no formato JSON. Você precisará criar um token do GitHub. Sugiro que você salve o código do token no nome do arquivo, pois quando precisar fazer o download das configurações novamente mais tarde, é improvável que você tenha o código à mão (pelo menos, esse foi o meu caso).

Brandon
fonte
Se você sabe que precisará do seu token do GitHub para a extensão de sincronização de configurações, você pode obtê-lo da tokenchave no syncLocalSettings.jsonque está no seu perfil de código, na mesma pasta que settings.json.
Rory O'Kane
3

Assim, como a edição do treehead ou a resposta do MarkP mostraram, agora você pode listar todas as extensões instaladas, portanto, a maneira de instalar essa lista de extensões seria:

code --list-extensions >> vs_code_extensions_list.txt

Transfira o arquivo recém-criado para a máquina na qual você deseja instalar essas extensões. Nessa máquina, você:

cat vs_code_extensions_list.txt | xargs -n 1 code --install-extension

O qual passará por cada extensão desse arquivo e instalará a extensão.

Se você deseja uma instalação limpa (AKA remova todas as extensões existentes nessa máquina), execute-a antes de instalar as novas extensões (caso contrário, você também removerá essas novas extensões). CUIDADO, pois isso removerá todas as extensões no código VS:

code --list-extensions | xargs -n 1 code --uninstall-extension
NickTheSick
fonte
Tentei, recebi esta mensagem de erro: "xargs: o termo 'xargs' não é reconhecido como o nome de um cmdlet, função, arquivo de script ou programa operável". ?
Nicholas Petersen
11
@NicholasPetersen Isso é para Linux. No windows:get-content c:\exportedlist.txt | % { code --install-extension $_ }
Jason Clement
1

Aqui está o local das configurações do VSCode:

Windows %APPDATA%\Code\User\settings.json
macOS $HOME/Library/Application Support/Code/User/settings.json
Linux $HOME/.config/Code/User/settings.json

Parece apenas armazenar configurações modificadas , o que é muito bom (para você não estragar ou estragar as versões futuras).

Você também pode querer / snippets /, na mesma pasta que settings.json.

E, é claro, você pode executar code --list-extensions, como as outras respostas já mencionam.

Andrew
fonte