Configuração do Terminal no Windows 11

Configuração base, do Terminal do Windows 11, focado em desenvolvimento e facilidade de uso.

Configuração do Terminal no Windows 11

Tendo em conta o uso dado ao Terminal nos vários sistemas operativos, nomeadamente à utilização do mesmo para fins de desenvolvimento de software, este pequeno post vai focar-se, na configuração base que realizo numa máquina com Windows 11.

Primeiro devem certificar-se que o Terminal encontra-se instalado na vossa máquina, uma rápida pesquisa por Terminal deverá responder a esta questão.

Instalação do Powershell 7

Por defeito e até à data de criação desta publicação, o Powershell 7 não se encontra instalado por defeito no Windows 11, por isso vamos começar por aí, com o seguinte comando:

winget install --id Microsoft.Powershell --source winget
winget install --id Microsoft.Powershell --source winget

Devem tornar o Powershell 7 como o default do vosso terminal, acedendo às definições do terminal, neste menu:

terminal

Oh-my-posh

O Oh-my-posh permite configurar a prompt do vosso terminal, recorrendo a cores e informações do sistema, muito útil para mostrar a pasta atual, o branch em que se encontram, caso estejam a usar o git no vosso projeto, bem como a versão do software da linguagem de programação, como por exemplo a versão do NodeJS, entre outras informações.

Tudo isto é configurável, sendo que, dispõem vários temas, pré-configurados, que deverão ser suficientes para o vosso dia-a-dia.

Vamos então instalar o mesmo com o comando:

winget install JanDeDobbeleer.OhMyPosh -s winget
winget install JanDeDobbeleer.OhMyPosh -s winget

Em seguida vamos editar a configuração do Powershell, de forma a que o oh-my-posh inicie com o terminal:

notepad $PROFILE
notepad $PROFILE

neste ficheiro vamos adicionar a seguinte linha:

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

No exemplo acima estou a usar o tema jblab_2021.omp.jsonjblab_2021.omp.json, mas podem usar qualquer outro, os temas podem ser verificados com o seguinte comando:

Get-PoshThemes
Get-PoshThemes

Alguns temas fazem uso de caracteres especiais, estes caracteres não se encontram disponiveis nas font's convencionais, logo devem de usar uma font própria, nomeadamente uma das Nerd Fonts.

Escolham a que mais gostarem, a instalação é feita da mesma forma, como qualquer outra font, sem se esquecerem de selecionar a mesma nas definições do Terminal.

Neste exemplo a font que uso é a BlexMono

terminal

Criação de chave SSH no Windows 11

Para finalizar, vamos configurar o SSH, a grande diferença para quem já usou o Windows no desenvolvimento de software, é que, já não existe a necessidade de usar o Putty, ou qualquer outro software do género.

Começamos por criar a chave com o seguinte comando:

ssh-keygen -t ed25519 -C "eu@ricardopimen.tel"
ssh-keygen -t ed25519 -C "eu@ricardopimen.tel"

Em seguinda iniciamos o Powershell como adiministrador e executamos:

Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Get-Service -Name ssh-agent | Set-Service -StartupType Manual

seguido do comando:

Start-Service ssh-agent
Start-Service ssh-agent

Estes comando permitem fazer com que, o SSH se torne usável, pois por defeito, apesar de vir instalado nas versões PRO, não se encontra pronto a usar.

Com isto vamos então adicionar a chave ao agente de SSH

ssh-add C:\Users\ricar\.ssh\id_ed25519
ssh-add C:\Users\ricar\.ssh\id_ed25519

De forma a poderem usar esta nova key, como por exemplo, no github, basta executar o seguinte comando para obter a chave publica:

cat C:\Users\ricar\.ssh\id_ed25519.pub
cat C:\Users\ricar\.ssh\id_ed25519.pub

Devem copiar a mensagem apresentada e colar no lugar reservado à mesma, como por exemplo, na configuração do SSH do Github e afins.

Conclusão

Este é o meu setup inicial do Terminal, penso que seja bastante simples de executar, tendo em conta as funcionalidades que oferece, comparado com a solução inicial do Terminal.

A evolução na simplificação deste processo, bem como todo o desenvolvimento à volta do mesmo, oferece uma solução muito próxima, e familiar, aos sistemas Linux e afins.

programação