Tutorial – configurar um prompt personalizado para PowerShell ou WSL com o Oh My Posh

Oh My Posh fornece recursos de tema para uma experiência de prompt de comando totalmente personalizada, fornecendo código de cores e prompts de status do Git.

Se você deseja apenas personalizar os esquemas de cores ou a aparência do seu terminal, pode fazê-lo nas configurações do Terminal do Windows (sem a necessidade de instalar temas Oh My Posh).

Neste tutorial, você aprenderá a:

Prompt personalizado do Terminal do Windows

Instalar uma fonte Nerd

Os prompts de comando personalizados geralmente usam glifos (um símbolo gráfico) para estilizar o prompt. Se sua fonte não incluir os glifos apropriados, você poderá ver vários caracteres de substituição Unicode '▯' em seu prompt.

Para ver todos os glifos em seu terminal, recomendamos instalar uma fonte Nerd como Cascadia Code NF, que pode ser baixada da página de lançamento do Cascadia Code.

Após o download, será necessário descompactar e instalar a fonte no sistema. Como adicionar uma nova fonte ao Windows.

Para definir uma fonte Nerd para uso com o Oh My Posh e o Terminal Icons, abra a interface do usuário de configurações do Terminal do Windows selecionando Configurações (Ctrl + ,) no menu suspenso do Terminal do Windows. Selecione o perfil em que deseja aplicar a fonte (PowerShell, por exemplo) e selecione Aparência. No menu suspenso Face da fonte, selecione Cascadia Code NF ou qualquer fonte Nerd que você deseja usar.

Observação

Se você quiser usar uma fonte de terminal que não dê suporte a ícones de glifo, como Cascadia Code PL, considere usar um tema Oh My Posh que contenha a minimal função, indicando que ícones adicionais não são necessários.

Personalizar o prompt do PowerShell com o Oh My Posh

O Oh My Posh permite que você use um conjunto de cores completo para definir e renderizar seu prompt de terminal, incluindo a capacidade de usar temas internos ou criar o próprio tema personalizado.

Instalar o Oh My Posh para PowerShell

Para personalizar seu prompt do PowerShell, instale o Oh My Posh usando winget, que instalará:

Para iniciar a instalação, digite o comando:

winget install JanDeDobbeleer.OhMyPosh

Você precisará concordar com os termos de origem e pode encontrar a instância em que mais de um pacote está disponível. Nesse caso, selecione a ID do pacote que deseja usar e insira novamente o comando: winget install <package ID>.

Captura de tela da instalação winget de pacotes oh my posh.

Para usar a versão da Microsoft Store do Oh My Posh, que será atualizada automaticamente quando novas versões estiverem disponíveis, use o comando:

winget install XP8K0HKJFRXGCK

Insira oh-my-posh version para confirmar o número de versão de sua instalação Oh My Posh. Para garantir que você tenha as atualizações mais recentes, use o seguinte comando: winget upgrade oh-my-posh.

Observação

Se você quiser instalar a versão mais recente do Oh My Posh no PowerShell, convém primeiro remover os arquivos armazenados em cache do módulo OMP e desinstalar o módulo antigo. Essas são instruções sobre como fazer isso nos documentos do Oh My Posh. Se você estiver mais familiarizado com o instalador Scoop ou um método de instalação manual que permita automação, eles também poderão ser usados para instalação no Windows, basta seguir as instruções nos documentos do Oh My Posh.

Escolher e aplicar um tema de prompt do PowerShell

Você pode procurar a lista completa de temas na página de temas do Oh My Posh.

Escolha um tema e atualize seu perfil do PowerShell com este comando. Você pode substituir notepad pelo o editor de texto de sua escolha.

notepad $PROFILE

Se você receber um erro de caminho, talvez ainda não tenha um perfil para o PowerShell. Para criar um perfil, use o seguinte comando do PowerShell para criação de perfil e tente abri-lo com um editor de texto novamente.

new-item -type file -path $profile -force

Adicione o conteúdo a seguir ao final do seu arquivo de perfil do PowerShell para definir o tema paradox. Substitua paradox pelo tema de sua escolha.

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\paradox.omp.json" | Invoke-Expression

Agora, cada nova instância do PowerShell começará importando Oh My Posh e definindo seu tema.

Se você receber um erro de script ao tentar abrir uma nova instância do PowerShell, sua política de execução do PowerShell poderá ser restrita. Para definir sua política de execução do PowerShell como irrestrita, você precisará iniciar o PowerShell como administrador e, em seguida, usar o seguinte comando:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Observação

Este não é o seu perfil do Terminal do Windows. Seu perfil do PowerShell é um script que é executado toda vez que o PowerShell é iniciado. Saiba mais sobre os perfis do PowerShell.

Dica

Confira as perguntas frequentes do Oh My Posh para obter respostas para perguntas ou problemas comuns. Para saber mais sobre a configuração e as configurações gerais, como restaurar o diretório de trabalho atual, confira a documentação do Oh My Posh.

Personalizar o prompt do WSL com o Oh My Posh

Oh My Posh também permite que você personalize prompts WSL usando temas integrados.

Instalar o Oh My Posh para WSL

É recomendável instalar o Oh My Posh para WSL, seja usando Bash, Zsh ou outro meio, seguindo o guia de instalação do Linux na documentação do Oh My Posh.

A personalização de prompts do WSL com o Oh My Posh usa o gerenciador de pacotes Homebrew para instalação. Ao instalar o Homebrew para Linux, siga as instruções das Próximas etapas para adicionar o Homebrew ao PATH e ao script de perfil do shell do bash.

O Homebrew instalará:

  • oh-my-posh – Executável, adicionado a /usr/local/bin
  • themes – Os temas mais recentes do Oh My Posh

Escolher e aplicar um tema de prompt do WSL

Os temas do Oh My Posh serão encontrados no diretório oh-my-posh como arquivos JSON. Encontre-os inserindo cd $(brew --prefix oh-my-posh) e, em seguida, basta inserir cd themes e ls para obter a lista. Para o Ubuntu-20.04 em execução via WSL, o caminho provavelmente será algo como: \\wsl.localhost\Ubuntu-20.04\home\linuxbrew\.linuxbrew\Cellar\oh-my-posh\6.34.1\themes. Você pode ver a aparência dos temas nos documentos Oh My Posh Themes.

Para usar um tema, copie-o da pasta themes para sua pasta $Home e, em seguida, adicione essa linha à parte inferior do arquivo .profile encontrado na sua pasta $Home:

eval "$(oh-my-posh init bash --config ~/jandedobbeleer.omp.json)"

Você pode substituir jandedobbeleer.omp.json pelo nome do tema que deseja usar (apenas certifique-se de que ele esteja copiado em sua $Home pasta).

Como alternativa, se você estiver usando o oh-my-posh no Windows com o PowerShell e com o WSL, poderá compartilhar o tema do PowerShell com o WSL apontando para um tema na pasta base do seu usuário do Windows. No caminho da distribuição .profile do WSL, substitua ~ pelo caminho: /mnt/c/Users/<WINDOWSUSERNAME>. Substituindo <WINDOWSUSERNAME> por seu próprio nome de usuário do Windows.

Você pode personalizar os temas Oh My Posh, se quiser.

Use Terminal-Icons para adicionar ícones de pastas ou arquivos ausentes

Terminal-Icons é um módulo do PowerShell que adiciona ícones de arquivo e pasta que podem estar ausentes ao exibir arquivos ou pastas no Terminal do Windows, procurando o ícone apropriado com base no nome ou na extensão. Ele tenta usar ícones para arquivos/pastas conhecidos, mas usa um ícone de arquivo ou pasta genérico se não encontrar o ícone específico.

Para instalar Terminal-Icons com o PowerShell, use o comando:

Install-Module -Name Terminal-Icons -Repository PSGallery

Para obter mais informações, incluindo como usar e os comandos, confira o repositório Terminal-Icons no GitHub.

Recursos adicionais