O Meu VSCode Settings

Fala Galera! Tudo bem?

Desde o último treinamento da CrespiDB sobre PowerShell Core, participantes e interessados, estão me perguntando como eu configuro o VSCode. Para sanar essa dúvida, resolvi fazer este post para explicar os meus parâmetros. 

Inclusive o meu settings.json está lá no meu GitHub em: https://github.com/SQLCrespi/material/blob/master/settings.json.
Deixei alguns comentários lá, mas aqui vou entrar um pouco mais no detalhe.

Para abrir as configurações utilize as combinações de teclas:

  • MacOS: Command + Shift + P;
  • Windows/Linux: Control + Shift + P

Na caixa de busca digite: “Preferences: Open Settings (JSON)”

Para explicar os parâmetros dividi em 3 partes para facilitar.
Esta primeira parte é sobre o editor. No meu caso comum a qualquer linguagem.

{
    // Editor
    //"workbench.colorTheme": "PowerShell ISE",
    "workbench.colorTheme": "Visual Studio 2019 Dark",
    "files.defaultLanguage": "powershell",
    "window.zoomLevel": 2,
    "editor.formatOnSave": true,
    "editor.formatOnType": true,
    "editor.wordWrap": "on",
    "editor.glyphMargin": true,
    "editor.autoIndent": "full",
    "editor.tabCompletion": "on",
    // Terminal
    "terminal.integrated.shell.osx": "/usr/local/microsoft/powershell/7/pwsh",
    "terminal.integrated.automationShell.linux": "/bin/bash",
    "terminal.integrated.automationShell.windows": "C:\\Program Files\\PowerShell\\7-preview>\\pwsh.exe",
    "terminal.integrated.fontSize": 14,
    // PowerShell
    "powershell.scriptAnalysis.enable": true,
    "powershell.startAutomatically": true,
    "powershell.integratedConsole.focusConsoleOnExecute": false,
    "powershell.enableProfileLoading": false,
    "powershell.codeFormatting.openBraceOnSameLine": true,
}

Editor:

Linhas 3 e 4 – tema escuro. Como eu gosto de codificar a noite, deixo o tema do visual studio dark, mas caso você utilize temas mais claros é só descomentar a linha 3 e comentar a linha 4.

Linha 5 – na linha três já deixo definido como linguagem padrão o PowerShell, desta forma quando abro um novo arquivo ele já virá com o motor do PowerShell.

Linha 6 – auto descritivo, mas é o zoom da IDE. No meu caso geralmente deixo 3, não vejo motivos para forçar a visão. Vale ressaltar que quando faço uma palestra eu utilizo o Demo Mode que é uma extention que já mencionei aqui no blog.

Linhas 7 e 8 – está opção é para marcar a formatação ao salvar ou digitar, isso evita que alguém abra o código sem a formatação que foi pré-definida.

Linha 9 – wordwarp é aquela configuração que quebra a linha. Em minha opinião, bem mais prático de ler o código como um todo.

Linha 10 – está opção ajuda muito na hora de debugar o código. Ele coloca uma marca na margem vertical.

Linha 11 – auto descritivo – auto indentação;

Linha 12 – quando estiver ON o Tab auto completa, OFF não completa e onlySnippets completa somente snippets quando o prefixo combinar.

Terminal:

Linhas 14, 15 e 16 –   outro item auto-explicativo e que faz muito sentido definir. Aqui em cada SO falamos qual é o Shell que iremos utilizar no Prompt. Logo no meu caso ele pegará a linha 11 (osx) e abrirá diretamente no Powershell.
Deixei os demais SO prontos porque utilizo o mesmo arquivo em todas as máquinas.

Linha 17 – assim como no zoomLevel, para ficar mais confortável a minha preferência é a fonte 14.

PowerShell:
Daqui para diante as configurações são relativas a extention do PowerShell e estes parâmetros irão deixar o seu VSCode com comportamento mais similar ao ISE.

Linha 19 – este parâmetro analisa o código e faz sugestões, como eu tenho “vício” de utilizar muitos alias para comandos este parâmetro me ajuda muito.
Por exemplo: quando digito gps aparece uma lâmpada amarela ao lado da linha, alertando-me que o alias pode ser substituído por get-childitem.

Linha 20 – com este parâmetro ativo ao iniciar uma built-in session no VSCode ele definirá automaticamente como linguagem padrão o Powershell.

Linha 21 – este parâmetro foi o motivo de eu pesquisar e personalizar o meu VSCode. Quando deixamos o valor false o comportamento após a execução é deixar o cursor na área de edição, ao invés de, ficar no terminal.

Linha 22 – o motivo para eu desabilitar o profile loading é porque faço o deploy em diversos servidores. Logo, não posso carregar o meu profile ao desenvolver.
No entanto, tenho um profile para minha máquina local e este é o motivo de ser falso este valor.

Linha 23 – está sessão de codingFormatting é bem interessante! Para o padrão de formatação que adoto, habilito apenas o openBraceOnSameLine, esta opção faz com que ao mandar formatar o código sempre onde foi aberto chaves seja fechado na mesma linha. Vide exemplo abaixo:

Às vezes, desabilito as opções de editor formatOnSave e formatOnType, isso porque modifica o padrão de formatação da equipe do cliente. Contudo, dentro da CrespiDB mantemos essas opções habilitadas.

Minha sugestão é fazer um backup do arquivo de configuração e copiar o mesmo arquivo para todos os ambientes de desenvolvimento independente do Sistema Operacional. Os caminhos para os arquivos em cada SO seguem abaixo:

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

Devo dizer que não foi fácil substituir o ISE pelo VSCode. Sei da superioridade do VSCode, mas foram anos com o ISE. No entanto, o VSCode nos dá a liberdade de trabalhar os scripts em ambientes multiplataforma.

Encorajo à todos para instalar uma VM para fins de teste com um SO diferente do seu dia-a-dia e utilizar a versão Insiders do VSCode.
Esta versão é pré-release e pode ter algum problema. Assim, você pode ir no GitHub do projeto e abrir uma “issue” para a equipe de desenvolvimento corrigir tal problema. Sempre há uma satisfação muito grande em ver uma correção (de algo que você testou) indo a para produção. :)

Abraço, Rodrigo

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.