Adotar o Visual Studio Code como editor de código/texto padrão para diversas tecnologias (Javascript, GO, Java) não é uma escolha fácil.
Muitas vezes fazer alterações nas configurações (tema, fonte, etc), e gerenciar extensões (ativar/desativar) para cada tipo de projeto é um trabalho tedioso.
Opções avançadas de linha de comando
Felizmente o VSCode pode ser iniciado pela linha de comando com opções avançadas para carregar configurações e extensões de um diretório especifico.
A primeira coisa que precisamos fazer é criar diretórios para armazenar as configurações e extensões de cada "perfil" de desenvolvimento.
mkdir -p code_profiles/java/{exts,data}
mkdir -p code_profiles/go/{exts,data}
mkdir -p code_profiles/nodejs/{exts,data}
Agora podemos abrir o VS Code pelo terminal com as opções --extensions-dir
e --user-data-dir
apontando para as extensões e configurações dos "perfis" criados.
code --extensions-dir ~/code_profiles/java/exts --user-data-dir ~/code_profiles/java/data
Vamos iniciar o "perfil" java e instalar algumas extensões (maven, spring, etc) comuns em projetos java web.
Vemos 22 extensões instaladas no "perfil" java.
Agora para ter certeza de que fizemos tudo certo, vamos iniciar o VS Code com o "perfil" nodejs e instalar algumas extensões (eslint, etc) comuns no universo javascript.
code --extensions-dir ~/code_profiles/nodejs/exts --user-data-dir ~/code_profiles/nodejs/data
Agora temos apenas 8 extensões instaladas no "perfil" nodejs.
A configuração de cada perfil (settings.json
) fica dentro do subdiretório User
da opção --user-data-dir
.
Criando apelidos
Agora que podemos alternar entre "perfis", vamos criar apelidos, atalhos no bash para não ter que sempre lembrar de todos esses comandos por completo.
Adicione alias
ao arquivo de perfil do seu usuário (~/.bash_profile
, ~/.zshrc
, ~/.profile
, ou ~/.bashrc
) para cada "perfil" do VS Code.
alias code-java="code --extensions-dir ~/code_profiles/java/exts --user-data-dir ~/code_profiles/java/data"
alias code-node="code --extensions-dir ~/code_profiles/nodejs/exts --user-data-dir ~/code_profiles/nodejs/data"
alias code-go="code --extensions-dir ~/code_profiles/go/exts --user-data-dir ~/code_profiles/go/data"
Agora, quando quiser usar um "perfil", tudo que precisa fazer é usar os atalhos.
code-java ~/workspaces/spring-quickstart
Extensão Profile Switcher
Se você não quiser ter todo esse trabalho, o Aaron Powell criou a extensão Profile Switcher que permite salvar vários "perfis" e trocar entre eles de dentro do VSCode.
Referencia e crédito
Andy Van Slaars compartilhou um repositório no github Profile Codes onde aprendi como fazer isso, gratidão eterna.
Foto da capa de hitesh choudhary no Pexels.
Top comments (5)
Sabe me dizer se tem como configurar o sync settings para dois profiles? para que sincronize separadamente os arquivos??
Sem ter q criar duas contas diferentes para fazer o sincronismo???
Olá Diego, eu uso um único
settings
para todos os perfis/extensões. Não sei se tem como sincronizar arquivos diferentes/separados. No meu setup são váriosextensions-dir
mas um único settings. Obrigado pelas perguntas e espero ter ajudado, tamo junto.Alguma forma de fazer isso no Windows? Na minha máquina com linux foi de boa.
Muuuuuito top, tudo que eu precisava, poluir o vscode é horrivel.
Obrigado pelo feedback Zé, fico feliz que este artigo lhe ajudou, abs.