DEV Community

Cover image for Turbinando sua Produtividade: Autocomplete e Personalização no Terminal do Windows
Edson Costa for Devs Norte

Posted on

Turbinando sua Produtividade: Autocomplete e Personalização no Terminal do Windows

Se você busca um terminal mais inteligente e visualmente atraente, capaz de antecipar seus comandos, reduzir a digitação repetitiva e oferecer um autocomplete eficaz, então você veio ao lugar certo! Vamos explorar como tornar o terminal do Windows uma ferramenta poderosa.

Começando

  • Windows Terminal: Comece instalando o Windows Terminal através da Microsoft Store ou baixando-o diretamente no GitHub. Ele oferece uma interface moderna e suporte para múltiplos terminais, como PowerShell, Command Prompt e WSL.

Windows Terminal

  • Oh My Posh: Essa é uma extensão que personaliza a aparência e o conteúdo da linha de comando. Por aqui, incluí o nome do usuário, o caminho da pasta, a branch atual, e a hora e uma experiência de terminal mais eficiente.

Oh My Posh
Para instalar o oh-my-posh, uma das opções é usar o winget, mas você pode usar o scoop, o próprio PowerShell ou chocolatey como mostrado na documentação:

winget install JanDeDobbeleer.OhMyPosh -s winget
Enter fullscreen mode Exit fullscreen mode

Após instalar isso, o seu terminal precisa "saber" que deve usar o oh-my-posh. Para isso, vamos configurar o perfil do Powershell no VS Code. Basta executar o comando abaixo.

code $PROFILE
Enter fullscreen mode Exit fullscreen mode

se não tiver o vscode instalado pode usar no bloco de notas da seguinte maneira:

notepad $PROFILE
Enter fullscreen mode Exit fullscreen mode

Esse arquivo Microsoft.PowerShell_profile.ps1 que abriu é responsável por lê e executa os comandos desse arquivo a cada vez que o PowerSell é aberto. Nele, copie e cole o seguinte comando:

& ([ScriptBlock]::Create((oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json" --print) -join "`n"))
Enter fullscreen mode Exit fullscreen mode

Você pode trocar o "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json" pela url do seu tema. Aqui você encotra diversos temas para o o Oh My Posh.

Salve e Recarregue o Terminal:
Salve o arquivo Microsoft.PowerShell_profile.ps1.
Feche e abra novamente o terminal ou recarregue o perfil do PowerShell.

Visualize as Mudanças:
Depois de recarregar o terminal, você deve ver as melhorias na linha de comando, incluindo informações como seu nome de usuário, diretório atual, ramificação do Git e hora

Antes de salvar meu terminal estava assim:

Terminal Antes

Após esse procedimento ficou assim:

Terminal Depois

  • 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
Enter fullscreen mode Exit fullscreen mode
  • 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:

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

Install-Module -Name Terminal-Icons -Repository PSGallery -Force
Import-Module Terminal-Icons
Enter fullscreen mode Exit fullscreen mode

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).

Melhorias de Produtividade com Autocomplete

Agora, vamos falar sobre algumas extensões que são super úteis para facilitar o seu trabalho diário, especialmente quando estiver navegando entre as pastas.

  • Z: Esta é uma extensão de intellisense que consegue aprender com a forma como você navega entre as pastas. Isso significa que você não precisa mais digitar o caminho completo toda vez que quiser acessar uma pasta específica.

Como é um intellisense, o Z precisa de algumas navegações entre as pastas para "aprender" quais você acessa com mais frequência.
use assim:

Na primeira vez que usar use o nome da pasta completo. Como ex:

z crypto-trends
Enter fullscreen mode Exit fullscreen mode

Na segunda vez em diante, você só precisa digitar parte do nome da pasta, e o Z já identificará a pasta desejada. Por exemplo, se você digitou "z crypto" anteriormente, na próxima vez pode digitar apenas:

Z

  • 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 e navegar pelo histórico de comandos similares ao que você está digitando:

PSReadLine
Para instalar, o comando é:

Install-Module -Name PSReadLine -AllowPrerelease -Force -SkipPublisherCheck
Enter fullscreen mode Exit fullscreen mode

gora, para garantir que as opções de autocomplete apareçam como mostrado na imagem anterior, vamos adicionar alguns comandos ao seu perfil do PowerShell (aquele code $PROFILE).

Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
Enter fullscreen mode Exit fullscreen mode
  • Posh git O posh-git será seu novo melhor amigo. Com autocomplete para comandos do Git, você pode navegar entre branches e commits com facilidade, economizando tempo e esforço. Um simples "tab" após digitar git checkout, por exemplo, faz com que apareçam todas as opções de branches existentes no projeto.

Posh git

Para usar, basta rodar o comando:

Install-Module posh-git -Scope CurrentUser -Force
Enter fullscreen mode Exit fullscreen mode
  • Aliases Personalizados: Crie aliases para comandos frequentemente usados e aproveite o autocomplete para acessá-los rapidamente. Por exemplo:
Set-Alias g git
Enter fullscreen mode Exit fullscreen mode

Aliases Personalizados

Segue abaixo o meu arquivo de perfil do PowerShell:

# Import-Module oh-my-posh ecarregar tema
& ([ScriptBlock]::Create((oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json" --print) -join "`n"))
#Import-Module de Icones do terminal
Import-Module Terminal-Icons

#import do autocomplete por historico
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView

# import do autocomplete do git
Import-Module Posh-Git

#Uso o  para não ficar poluido o terminal
clear-host

#Alias do git, não ter que digitar git no lugar só coloco g
Set-Alias g git

#Alias do chocolatey(Só use se tiver o chocolatey)
function Install-Choco {
    choco install $args
}

Set-Alias install Install-Choco
Enter fullscreen mode Exit fullscreen mode

Atalhos do Terminal

Aqui estão alguns atalhos úteis para agilizar sua interação com o terminal:

  • Ctrl + Shift + t: Criar uma nova aba no Windows Terminal.
  • Ctrl + Tab: Alternar entre as abas no Windows Terminal.
  • Alt + Shift + -: Criar um pane na horizontal no Windows Terminal.
  • Alt + Shift + +: Criar um pane na vertical no Windows Terminal.
  • Ctrl + Shift + w: Remover um pane no Windows Terminal.
  • Alt + seta: Navegar entre os panes no Windows Terminal.
  • Ctrl + seta: Navegar entre as posições dentro de um pane no Windows Terminal.
  • Alt + Shift + seta: Redimensionar panes no Windows Terminal.
  • F11: Alternar entre o modo fullscreen e o modo normal no Windows Terminal.

Esses atalhos podem variar de acordo com a configuração do seu sistema ou outras extensões instaladas. Certifique-se de consultar a documentação do Windows Terminal para obter a lista completa de atalhos e funcionalidades.

Conclusão

Ao adotar as ferramentas e técnicas apresentadas, você não apenas transforma sua experiência de linha de comando, mas também eleva sua produtividade e eficiência a novos patamares. O Windows Terminal não é apenas uma janela para seus sistemas; é uma porta de entrada para um universo de possibilidades.

Personalizando sua linha de comando com o Oh My Posh, Nerd Fonts e Terminal Icons, você não apenas torna sua interação mais visualmente atraente, mas também mais informativa e funcional. A navegação rápida entre pastas com o Z, o autocomplete inteligente do PSReadLine e a facilidade de uso do posh-git simplificam suas tarefas diárias e liberam tempo para o que realmente importa: sua criatividade e inovação.

Portanto, mergulhe fundo, experimente, personalize e descubra como o terminal no Windows pode se tornar seu aliado mais poderoso. Combinando estilo, funcionalidade e eficiência, você está pronto para enfrentar qualquer desafio, abrir caminhos e alcançar novos horizontes em sua jornada digital.

Referências

Personalizando o terminal
Documentação do PSReadLine
Documentação do OhMyPosh
Alias do chocolatey
Documentação do NerdFonts
Atalhos do Terminal

Top comments (0)