Personalizando o Windows Terminal

 1. Programas
       1.1. Windows Terminal
       1.2. Powershell
       1.3. Scoop
 2. Aparência do Powershell
       2.4. Oh-my-posh
       2.5. Nerd Fonts
       2.6. Terminal Icons
 3. Extensões de autocomplete
       3.7. Z
       3.8. PSReadLine


This content originally appeared on DEV Community and was authored by Daniela Caus

 1. Programas
       1.1. Windows Terminal
       1.2. Powershell
       1.3. Scoop
 2. Aparência do Powershell
       2.4. Oh-my-posh
       2.5. Nerd Fonts
       2.6. Terminal Icons
 3. Extensões de autocomplete
       3.7. Z
       3.8. PSReadLine
       3.9. Posh git
 4. Conclusão

Recentemente tive mais contato com outros desenvolvedores via pair programming, e percebi o quanto o terminal deles era mais agradável de usar.

Com isso, conheci alguns programas e extensões que tornam a experiência de navegação entre as pastas muito mais simples, além de deixá-lo visualmente mais agradável e informativo. Mesmo quando uso o terminal no VS Code, a diferença foi gritante:

Terminal como usava antes, que era o bash no VS Code

Meu terminal depois, usando o Powershell no Windows terminal

Ainda não parti para o lado Linux ou Mac da força, então fui pesquisar por soluções no bom e tradicional Windows, mesmo.

Se você tem interesse em ter uma experiência melhor no terminal usando Windows, dá uma olhada no que fiz por aqui e veja se tem algo que quer replicar por aí!

Programas

Inicialmente eu usava só o git bash no próprio VS Code. Quando passei a usar mais de um repositório para rodar uma aplicação, senti a necessidade de ter um terminal onde eu pudesse acompanhar os comandos que eu rodava em cada um, de forma mais centralizada, sem que necessariamente eu tivesse que abrir a IDE. Pra isso, baixei programas que me permitisse usar abas (cada uma acessando um path independente, como o VS Code permite), e um terminal mais atualizado.

Windows Terminal

Esse programa pode ser baixado na Microsoft Store, que geralmente vem com o Windows. Segue aqui o link para te dar um atalho.

Pra mim, ele tem sido melhor que o Windows Powershell, porque me permite abrir várias abas do terminal, assim como geralmente fazemos com abas de um navegador. Também é possível deixar a aparência dele mais bonitinha, se você gostar desses "fru-frus", como eu. Sem os outros programas que mencionarei mais pra frente, logo de início, já é possível deixá-lo assim:

Windows terminal com letras todas cinza claro e fundo com transparência fosca

Para adicionar essa transparência é necessário mexer nas configurações, mas isso já te ensino, porque antes quero apresentar uma versão mais atualizada do terminal que vem com o Windows.

Powershell

É uma versão mais atualizada do Windows Powershell que vem com o Windows (esse azul abaixo). A Microsoft fala que as duas versões podem ser usados em conjunto, fazendo com que a instalação de um não substitua o outro, mas não sei o porquê desse comportamento. Também é possível instalar o Powershell a partir da versão 7 na loja da Microsoft, nesse link.

Windows Powershell, uma versão mais antiga

Agora sim, vamos ver como deixar o Windows Terminal com uma aparência um pouco mais amigável, além de definir o terminal padrão como o PowerShell.

No Windows Terminal, selecione as configurações seguindo os caminhos a seguir:

Inicialização > Perfil padrão: Powershell
Aparência > Usar material acrílico [...]: Ativado
Padrões > Aparência:

  • Esquema de cores: Vintage
  • Transparência > habilitar material acrílico: Ativado
  • Transparência > Opacidade de fundo: 70%

Essas são algumas das configurações do meu terminal, mas é legal ir explorando para entender as suas preferências.

Scoop

O Scoop é um "instalador" de programas, assim como o Winget (que geralmente já vem com o Windows). Esse é um programa opcional, não vou usá-lo para as extensões que eu mencionar nesse artigo, mas ele pode te ajudar a instalar vários outros programas via linha de comando, de uma forma mais rápida e simples, sem aquelas telinhas de download e instalação (dá até pra usá-lo para instalar o Spotify, por exemplo).

A instalação do Scoop pode ser feita com os dois comandos abaixo:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex

Obs.: O primeiro comando é uma configuração importante para que seja possível instalar coisas remotamente na sua máquina. Sem isso, pode ser que seu Windows não permita a instalação nesse formato.

Em seguida, é necessário adicionar o diretório C:\Users<USERNAME>\scoop\shims (substituindo o pelo meu username na máquina) como um novo diretório dentre as variáveis ambiente da máquina dentro de Path:

  • Clique na tecla Windows do teclado e busque por "variáveis ambiente". Deve aparecer a opção "Editar as variáveis ambientes do sistema". Selecione essa opção.
  • Clique em "Variáveis ambiente"
  • Selecione a opção "Path" dentro de "variáveis do Sistema", e depois clique em "editar"
  • Selecione "novo", e digite o diretório informado acima. No meu caso, foi assim:

Passo a passo para editar as variáveis ambientes no Windows 10

Aparência do Powershell

Por mais que já tenha mencionado algumas configurações que personalizam a aparência do Windows terminal, agora vou especificar alguns programas que alteram o conteúdo do terminal. Vamos a eles!

Oh-my-posh

Essa é uma extensão que personaliza a aparência da sua linha de comando, bem como o conteúdo que aparece antes de cada comando. No meu terminal, incluí o nome do usuário, o caminho da pasta, a branch atual, e a hora, cada uma dessas partes com uma cor que gosto:

Meu terminal com oh-my-posh, bem colorido

Para instalar o oh-my-posh, uma das opções é usar o winget:

winget install JanDeDobbeleer.OhMyPosh -s winget

No site da aplicação tem outras opções de instalação (inclusive com scoop!), caso não queira usar essa, ou encontre algum tipo de problema.

Depois dessa instalação, é necessário que o perfil do seu terminal identifique que ele precisa usar o oh-my-posh. Pra isso, vamos abrir o perfil do Powershell no VS Code com o comando abaixo 1:

code $PROFILE

ATENÇÃO: É importante usar esse comando dentro do terminal Powershell, uma vez que é dele que estamos falando. Se abrir dentro do Windows Powershell, por exemplo, já será outro perfil.

O Powershell lê e executa os comandos desse arquivo a cada vez que é aberto. Nele, copie e cole o seguinte comando:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json"

Salvando esse arquivo e abrindo uma nova aba no terminal, você já verá algo como a imagem abaixo. Pode ser que os ícones ainda não esteja aparecendo, mas isso está relacionado à fonte, que falarei na próxima aplicação:

Terminal com o tema Jandedobbeleer

Caso queira utilizar um dos temas incluídos na instalação do oh-my-posh, você pode explorar nessa página. Basta substituir o nome do tema no comando do perfil do Powershell que você copiou acima. Se quiser usar o "M365Princess", por exemplo, é só trocar o comando no arquivo por:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\M365Princess.omp.json"

No meu caso, eu fiz um tema personalizado. Se quiser fazer o mesmo, você pode criar um arquivo JSON e informar o caminho até ele nesse comando para o oh-my-posh do perfil do Powershell. O Oh-my-posh ensina a fazer isso na seção de configuração de sua documentação. Se quiser usar o meu, ele está aqui, lembrando eu posso tê-lo modificado dependendo do momento do futuro em que você estiver lendo isso.

Nerd Fonts

Para que os ícones do seu terminal apareçam, o oh-my-posh precisa que você use uma fonte compatível com eles, e uma das recomendações da própria aplicação é instalar uma fonte dentre as "Nerd Fonts".

Você pode baixar diretamente do repositório deles, ou usando um comando do oh-my-posh:

oh-my-posh font install

Essa última forma é bem intuitiva, basta selecionar uma das fontes e ele fará a instalação. Depois disso você precisará selecionar a fonte baixada nas configurações do Windows Terminal:

Seleção de fonte no terminal

Caso tenha baixado a fonte de outra forma, você também deve encontrá-la nas configurações.

Terminal Icons

Essa é mais uma extensão para melhorar a aparência do terminal, acrescentando ícones do tipo de arquivo ou pasta que está na lista:

Comando "ls" com o Terminal Icons instalado

Para instalar, basta rodar os seguintes comandos no seu terminal:

Install-Module -Name Terminal-Icons -Repository PSGallery -Force
Import-Module Terminal-Icons

A cada vez que você abrir seu terminal, para ver o terminal Icons em funcionamento, você precisaria rodar novamente o comando Import-Module Terminal-Icons. Para que isso não seja necessário, basta acrescentar esse comando no arquivo de perfil do Powershell. (Lembra como faz isso? -> code $PROFILE).

Extensões de autocomplete

Ok, já falei bastante de extensões que deixam o terminal mais bonito. A partir daqui, vou mostrar algumas que são mega úteis para facilitar o dia a dia, especialmente na navegação entre as pastas.

Z

Essa extensão é um intelissense que consegue aprender com a navegação que você faz entre as pastas, possibilitando que não seja mais necessário digitar o caminho completo quando estiver navegando entre uma e outra.

Gif do Z em ação no Windows Terminal

Para instalá-lo, basta digitar o comando:

Install-Module -Name Z -Force

PSReadLine

O PSReadLine é um módulo do Powershell que permite o autocomplete de uma forma inteligente, também. Algumas configurações interessantes podem ser usadas para visualizar um histórico de comandos similares ao que você está digitando, conforme o histórico que você já usou:

Histórico de comandos com PSReadline configurado

Para instalar, o comando é:

Install-Module -Name PSReadLine -AllowPrerelease -Force -SkipPublisherCheck

Agora, para que as opções apareçam conforme a imagem acima, vamos colocar mais alguns comandos no perfil do Powershell (aquele code $PROFILE maroto).

Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView

Você pode aprender mais sobre esses comandos na documentação do PSReadLine

Posh git

O PSReadLine e o Z conseguem dar conta de facilitar o uso de vários comandos, no entanto o posh-git ajuda particularmente no autocomplete dos comandos do git. Um simples "tab" após digitar git checkout, por exemplo, faz com que apareçam todas as opções de branches existentes no projeto.

Autocomplete com Posh Git

Não só isso, mas existem outros vários benefícios que essa extensão pode trazer.

Para usar, basta rodar o comando:

Install-Module posh-git -Scope CurrentUser -Force

Conclusão

Com essas configurações, a linha de comando fica mais apresentável e fácil de navegar. Ela pode até mesmo se tornar mais informativa, caso sejam incluídos alguns segmentos específicos do oh-my-posh.

Para as configurações de aparência, acrescentamos basicamente algumas cores e ícones, mas também adicionamos blocos de conteúdo baseados no diretório em que você se encontra na navegação de pastas e arquivos.

Já as extensões de autocomplete permitem que ferramentas inteligentes usem o seu histórico de comandos para diminuir o tanto que você digita no terminal.

Além das configurações que ensinei por aqui, também é possível dar até mesmo um "apelido" para alguns comandos, como por exemplo para o git, usando:

Set-Alias g git

Usando esse Set-Alias no seu perfil do Powershell, você pode escrever g no lugar de git, e economizar umas letrinhas.

Por fim, compartilho com você o meu arquivo de perfil do Powershell:

# Prompt
# Import-Module oh-my-posh
Import-Module posh-git
Import-Module -Name Terminal-Icons

# Carrega configurações do prompt
oh-my-posh init pwsh --config ~\Documents\PowerShell\danicaus.omp.json | Invoke-Expression

# Navegação com autocomplete
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView

# Adaptando comandos do teclado
Set-Alias vim nvim
Set-Alias g git

Espero que essas informações tenham sido uteis pra você! Caso tenha ficado alguma dúvida e eu consiga ajudar, comente aí embaixo!

  1. Também é possível usar o bloco de notas, trocando a palavra "code" por "note". ↩


This content originally appeared on DEV Community and was authored by Daniela Caus


Print Share Comment Cite Upload Translate Updates
APA

Daniela Caus | Sciencx (2022-07-17T23:38:19+00:00) Personalizando o Windows Terminal. Retrieved from https://www.scien.cx/2022/07/17/personalizando-o-windows-terminal/

MLA
" » Personalizando o Windows Terminal." Daniela Caus | Sciencx - Sunday July 17, 2022, https://www.scien.cx/2022/07/17/personalizando-o-windows-terminal/
HARVARD
Daniela Caus | Sciencx Sunday July 17, 2022 » Personalizando o Windows Terminal., viewed ,<https://www.scien.cx/2022/07/17/personalizando-o-windows-terminal/>
VANCOUVER
Daniela Caus | Sciencx - » Personalizando o Windows Terminal. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/07/17/personalizando-o-windows-terminal/
CHICAGO
" » Personalizando o Windows Terminal." Daniela Caus | Sciencx - Accessed . https://www.scien.cx/2022/07/17/personalizando-o-windows-terminal/
IEEE
" » Personalizando o Windows Terminal." Daniela Caus | Sciencx [Online]. Available: https://www.scien.cx/2022/07/17/personalizando-o-windows-terminal/. [Accessed: ]
rf:citation
» Personalizando o Windows Terminal | Daniela Caus | Sciencx | https://www.scien.cx/2022/07/17/personalizando-o-windows-terminal/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.