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
Um comentário em “O Meu VSCode Settings”