Skip to main content

Command Palette

Search for a command to run...

Customizando o terminal do Windows — Como deixar o Terminal Windows Bonito e performático

Updated
5 min read
Customizando o terminal do Windows — Como deixar o Terminal Windows Bonito e performático

Uma das ferramentas que está sempre com você como desenvolvedor de software, é o Terminal (ou se preferir, Console). Portanto, podemos usar alguns módulos e extensões para fazer com que ele se torne mais inteligente e nos ajude ainda mais em produtividade no dia-a-dia.

First things First

Primeiramente o mais importante. Nesse post irei mostrar como configurar o básico do terminal e como deixar ele pronto para otimizar no dia-a-dia de dev. Mas se você quiser também dá aquele boost em sua máquina (ou instancia) Linux ou MacOS, aqui neste outro artigo mostro como fazer nessas plataformas :)

O que terei no final desse “Guia”?

Eu escolhi alguns módulos que ajudam no trabalho, por exemplo:
- Preenchimento automático de comando em linha;
- Sugestões comuns/mais usados;
- Indicadores de Git, Path e Projeto;
- E destaque coloridos para ajuda na semântica do comando (Temas!).

Ferramentas

Para podermos ter esses módulos auxiliares, vamos precisar de está usando o OhMyPosh no app Windows terminal, que pode ser baixado na Microsoft Store, pelo gerenciador de pacote da microsoft winget, ou scoop(que é o ‘homebrew’ para Windows) e até diretamente pelo powershel (manual).

Caso o Windows Terminal já não esteja instalado na sua máquina, instale usando uma das opções que preferir, mas recomentdo usar o app da loja Microsoft: link. Em sequida instale o OhMyPosh usando uma das opções abaixo. Copie e cole o comando no seu terminal (Windows Terminal / PowerShell):
- winget::

winget install JanDeDobbeleer.OhMyPosh -s winget

- scoop:

scoop install https://github.com/JanDeDobbeleer/oh-my=posh/releases/lastest/download/oh-my-posh.json

- manual:

Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://ohmyposh.dev/install.ps1'))

Feito isso, reinicie o terminal, e terá instalado o ohmyposh e o seu pacote de temas. Caso deseje ver o caminho que foi feito a instalação, execute o seguinte comando:

(Get-Command oh-my-posh).Source

Temas e Fontes

O próximo passo agora, é fazer a instalação da Fonte. Assim poderemos ter os ícons de branching do Git, font-ligatures etc. Para esse Setup eu escolhi a Fonte FiraCode que venho usando há bastante tempo e nunca tive problemas, uso inclusive como fonte pricipal do VSCode.

Para instalar a fonte basta rodar o seguinte comando no terminal e selecionar a fonte desejada com as setas (⬆️/⬇️). Para esse exemplo recomendo descer até achar a fonte FiraCode Nerd Font:

oh-my-posh font install

Após a instalação, vá nas configurações do terminal. Por padrão o atalho ctrl+, abre as configurações, mas caso não funcione, basta clicar no ícone de contexto do terminal e navegar para as configurações e em seguida selecione a opção “Abrir o arquivo JSON” (Imagens abaixo):

Feito isso, no arquivo aberto, localize a key profile/defaults e deixe a key font com o valor como no exemlo abaixo. Caso não exista a key fonte, adicione-a.

{
    "profiles":
    {
        "defaults":
        {
            "font": 
            {
                "face": "FiraCode Nerd Font"
            }
        }
    }
}

Para adicionar suporte às fontes no terminal integrado do VSCode, você só precisa abrir o vscode, precisone F1 para abrir a command pallet e digitar “settings json” e selecionar a opção para abrir as configurações do vscode “Open User Settings (JSON)”. Localize e altere o campo terminal.integrated.fontFamily como na imagem abaixo, salve e reinicie o vscode, e tudo certo!

Agora partimos para os temas. Edite seu script de profile do PowerShell. Você pode encontrar-lo na variável $PROFILE do PowerShell. Por exemplo, usando o VSCode:
code $PROFILE
Caso o comando gere algum erro, ou o arquivo ainda não existir crie o arquivo e tente novamente.
Para criar o arquivo execute o seguinte comando:

New-Item -Path $PROFILE -Type File -Force

Ao conseguir abrir o arquivo, adicione o sequinte código e salve:

oh-my-posh init pwsh | Invoke-Expression

Depois de adicionado, recarregue seu PROFILE para que as alterações tenham efeito, ou reinicie o terminal. Agora você notará que o terminal já está diferente.

terminal with ohmyposh prompt

Toques finais

Agora já temos o teminal com quase tudo pronto. Caso queira explorar a diversidade de temas basta rodar o comando Get-PoshThemes que será listado os temas e o comando para o selecionar como default.

Por exemplo, no meu caso o comando exemplo foi:

oh-my-posh init pwsh --config 'C:\Users\allan\AppData\Local\Programs\oh-my-posh\themes\jandedobbeleer.omp.json' | Invoke-Expression

Caso eu queira mudar o tema para o “zash” basta eu substituir o path do arquivo final, por exemplo: de ..\themes\jandedobbeler.omp.json por .\themes\zash.omp.json

Para concluir, vamos abrir o arquivo $PROFILE novamente e colar o código abaixo, após isso, salve e reinicie o terminal:

Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -HistorySearchCursorMovesToEnd
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward

Isso adicionará o Predictive IntelliSense que é implementado no mecanismo do PowerShell e apresentado por meio do módulo PSReadLine e fornece previsão baseada em histórico no InlineView.

Caso você esteja vendo algum erro no seu terminal ao abrir ou ao tentar execultar alguns dos comando desse guia parecido com o retorno abaixo, você precisará atualizar seu módulo PSReadline:

Get-PSReadLineKeyHandler : A parameter cannot be found that matches parameter name ‘Key’

Para atualizar basta seguir os passos de instalação/update da documentação oficial do PSReadLine disponível aqui.

E Voilà! O terminal está pronto para uso e otimizado com complementos para ferramentas comuns como git, Node, comandos baseados no histórico de execução, realce de sintaxe com indicador de comando ausente e assim por diante!!

Espero que você goste e que essas dicas economizem alguns segundos por dia e horas por semana ou por ano em seu trabalho.
Até mais, e Até!

#2Articles1Week