Como deixar o terminal do Windows bonito e produtivo

Para deixar o terminal do Windows PowerShell bonito e produtivo, siga os passos abaixo:

Atualizando o PowerShell

Para que todos os módulos funcionem corretamente, é necessário que o PowerShell esteja na versão 7.2 ou superior. Para verificar a versão do PowerShell, execute o comando:

$PSVersionTable

Para atualizar o PowerShell, execute o comando abaixo:

iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"

A partir da versão 7.3 o PowerShell já vem com o módulo PSReadLine instalado, esse é o módulo responsável por habilitar o auto-complete. Para verificar se o módulo está instalado, execute o comando abaixo:

Get-Module -Name PSReadLine

Instalando o oh-my-posh

O oh-my-posh será a ferramenta usada para deixar o seu Windows Terminal bonito. Ela está disponível na Microsoft Store. Você pode instalá-la clicando no link ou executando o comando abaixo:

winget install JanDeDobbeleer.OhMyPosh

Agora instale o módulo oh-my-posh usando o comando abaixo:

Install-Module -Name oh-my-posh -Scope CurrentUser

Com os módulos instalados, vamos importá-los. Para isso, execute o comando abaixo:

Import-Module -Name oh-my-posh

Feche o PowerShell e abra novamente para que as alterações tenham efeito.

Se você estiver recebendo o erro "oh-my-posh: The term 'oh-my-posh' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.", faça o seguinte:

Descubra onde o oh-my-posh.exe foi instalado, para isso, execute o comando abaixo:

Get-Command -Name oh-my-posh.exe

Em seguida crie uma variável de ambiente com o nome oh-my-posh e o valor do caminho do arquivo oh-my-posh.exe, para isso, executando o comando abaixo, ou usando a ferramente do Windows "Editar as variáveis de ambiente do sistema":

[System.Environment]::SetEnvironmentVariable("oh-my-posh", "C:\Users\seu_usuario\.dotnet\tools\oh-my-posh.exe", "User")

Instalando uma fonte compatível

Para que o oh-my-posh funcione corretamente, é necessário instalar uma fonte powerline, felizmente o oh-my-posh já vem com um comando para instalar a fonte. Para instalar uma fonte abra o terminal como Administrador e execute o comando abaixo:

oh-my-posh font install

Ou você pode usar sua fonte favorita, desde que ela seja compatível, eu prefiro a Consolas NT. Então, para instalar as fontes, eu fiz o download dos arquivos das fontes e instalei manualmente.

Para que o terminal use essa fonte, você deve ir nas Configurações do Terminal, na sessão Perfil/Padrões, e alterar a fonte para a fonte que você instalou em Tipo da Fonte.

Mudando o visual do seu PowerShell

Agora que o seu terminal já pode ficar lindão, vamos fazer isso. Execute o comando abaixo:

oh-my-posh get shell

O comando acima irá retornar o nome do seu shell atual, no meu caso é o PowerShell, ou seja, pwsh. Para mudar o visual do seu terminal, vamos criar um perfil para o PowerShell. Para isso, execute o comando abaixo:

notepad $PROFILE

Com o arquivo aberto, adicione o seguinte conteúdo:

oh-my-posh init pwsh | Invoke-Expression

Isso fará com que seja criado um profile para o usuário atual do Windows, e ao iniciar o PowerShell, o oh-my-posh será executado.

Outros módulos úteis

Install-Module -Name posh-git, Terminal-Icons

acrescentar "Import-Module -Name Terminal-Icons" ao profile mostrará ícones ao listar arquivos e pastas, mas isso deixará a inicialização mais lenta do powershell, não vale a penas

Importando os Módulos do PowerShell

Com os módulos instalados, vamos importá-los. Para isso, execute o comando abaixo:

Import-Module -Name oh-my-posh, posh-git, Terminal-Icons, Az.Accounts, Az.Tools.predictor

Configurando o PowerShell

Para ver os temas disponíveis, execute o comando abaixo:

Get-PoshThemes

Para configurar o PowerShell, execute o comando abaixo:

Set-PoshPrompt -Theme Paradox

Configurando o PowerShell para iniciar com o Windows Terminal

Para configurar o on-my-posh para iniciar com o Windows Terminal, execute o comando abaixo:

if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
notepad $PROFILE

Com o arquivo aberto, adicione o seguinte conteúdo:

Import-Module -Name oh-my-posh, posh-git, Terminal-Icons, Az.Accounts, Az.Tools.predictor, PSReadLine
Set-PoshPrompt -Theme Paradox

Configurando o Windows Terminal

Para que

Instalando uma versão anterior do PowerShell

Para instalar uma versão anterior do PowerShell, execute o comando abaixo: