DEV Community

Cover image for Terminal do Windows com Oh My Posh
Mayanna Oliveira
Mayanna Oliveira

Posted on

9 1

Terminal do Windows com Oh My Posh

Conteúdo

Requisitos

Antes de iniciar a instalação é necessário configurar os pré-requisitos:

  1. Instalação do Winget via Microsoft Store.
  2. Baixar do Nerds Fonts as fontes MesloLGM, Fira Code Mono e Jet Brains Fonts Mono.
  3. Acessar a documentação do Oh My Posh e seguir o passo-a-passo.
  4. Lista de temas do Oh My Posh.
  5. Pode usar no Windows Terminal o tema Dracula ou customizar um de sua preferência.

Instalação do Winget

Toda a instalação no Oh My Posh é realizada via terminal utilizando o Winget para a instalação do pacote.
Apenas acesse a Microsoft Store diretamente da sua máquina, busque por Winget e clique em instalar.

Image description

Tema Dracula

A instalação do tema Dracula no Windowns Terminal é bem simples.

  1. Clique no terminal com o botão direito do mouse e vá em Configurações.
  2. Dentro das configurações acesse a opção Abrir com JSON.

Image description

  1. Insira dentro do bloco Schemes o tema do Dracula.

Image description

  • Código do tema do Dracula:


"schemes": [
    {
        "name": "Dracula",
        "cursorColor": "#F8F8F2",
        "selectionBackground": "#44475A",
        "background": "#282A36",
        "foreground": "#F8F8F2",
        "black": "#21222C",
        "blue": "#BD93F9",
        "cyan": "#8BE9FD",
        "green": "#50FA7B",
        "purple": "#FF79C6",
        "red": "#FF5555",
        "white": "#F8F8F2",
        "yellow": "#F1FA8C",
        "brightBlack": "#6272A4",
        "brightBlue": "#D6ACFF",
        "brightCyan": "#A4FFFF",
        "brightGreen": "#69FF94",
        "brightPurple": "#FF92DF",
        "brightRed": "#FF6E6E",
        "brightWhite": "#FFFFFF",
        "brightYellow": "#FFFFA5"
    }
]


Enter fullscreen mode Exit fullscreen mode
  • A partir do exemplo acima é possível também criar o seu próprio tema com suas cores favorias.
  • Para alterar o tema do Windows Terminal acesse novamente as Configurações > Esquema de Cores, selecione Dracula e salve.

Image description

  1. Caso o passo 4 não funcione acesse Configurações > PoweShell > Aparência > Esquema de Cores, selecione Dracula e salve.

Image description

  1. Aproveite que está no passo 5 e troque o Tipo de Fonte para FireCore Nerd Font e salve.

Instalação do Oh My Posh

Toda a instalação é feita via terminal graças ao Winget, siga o passos abaixo:

  1. Ter o Winget devidamente instalado.
  2. Instalar as fonts do Nerd Fonts.
  3. Acessar o Power Shell e digitar winget install JanDeDobbeleer.OhMyPosh -s winget.
  4. Instalar o temas
  5. Efetuar a instalação com o comando winget install JanDeDobbeleer.OhMyPosh -s winget.
  6. Insira o comando winget upgrade JanDeDobbeleer.OhMyPosh -s winget para verificar se tem atualização.
  7. Configure o tema usando o comando oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json". o terminal vai retornar um outro comando (@(& 'C:/Users/Dev/AppData/Local/Programs/oh-my-posh/bin/oh-my-posh.exe' init pwsh --config='C:\Users\Dev\AppData\Local\Programs\oh-my-posh\themes\jandedobbeleer.omp.json' --print) -join "n") | Invoke-Expression` então use ele novamente como mostra abaixo:
  8. Após a instalação rode o comando notepad $PROFILE para configurar o perfil e insira as linhas:


import-Module oh-my-posh
Set-PoshPrompt -Theme JanDeDobbeleer

  1. JanDeDobbeleer é o nome do tema para conhecer mais acesse is temas no site ou acessar o repositório do Oh My Posh no GitHutb.

Oh My Posh e o Antivírus

O Oh My Posh passa por atualizações frequentes por isso, o antivírus pode ocasionalmente o sinaliza (falso positivo) então, acesse o seu antivírus e libere a execução do Oh My Posh. Para localizar o executável utilize o comando (Get-Command oh-my-posh).Source.

Posh Git e Oh My Posh

O Oh My Posh é um módulo do PowerShell que ajuda a decorar nossa janela do PowerShell usando diferentes temas integrados e personalizados.

O Posh Git é um módulo do PowerShell que integra Git e PowerShell, fornecendo informações resumidas de status do Git que podem ser exibidas no prompt do PowerShell, por exemplo, posh-git também fornece suporte para preenchimento de guias para comandos git comuns, nomes de ramificações, caminhos e muito mais.

Instale ambos através dos comandos Install-Module posh-git -Scope CurrentUser e logo após o comando Install-Module oh-my-posh -Scope CurrentUser.

Alterar o Tema

Para verificar todos os temas disponíveis use o comando Get-PoshThemes. Caso queira alterar é só seguir os passos já abordados:

  1. Acessar o terminal e usar o comando notepad $PROFILE ou code $PROFILE.
  2. Trocar JanDeDobbeleer no código abaixo pelo tema que mais agrada.


import-Module oh-my-posh
Set-PoshPrompt -Theme JanDeDobbeleer

Instalação do PSReadLine

O PSReadLine vai ajudar a otimizar a sua experiência no uso do terminal, a instalação é simples:

  1. Digite no terminal o comando: Install-Module PSReadLine -AllowPrerelease -Force.
  2. Use o notepad $PROFILE para acessar o perfil e inserir as linhas:


if ($host.Name -eq 'ConsoleHost')
{
Import-Module PSReadLine
}

Manipulando Segmentos

O Oh My Posh tem alguns seguimentos que podem ser instalados conforme sua rotina de trabalho, abaixo veja o exemplo de um usuário de Git:


{
"type": "git",
"style": "powerline",
"powerline_symbol": "",
"invert_powerline": false,
"foreground": "#193549",
"background": "#fffb38",
"leading_diamond": "",
"trailing_diamond": "",
"properties": {
"display_status": true,
"display_stash_count": true,
"display_upstream_icon": true
}

Os segmentos estão disponíveis no site do projeto e sao inseridos dentro do block conforme o exemplo abaixo:


{
"blocks": [
{
// positioning metadata (not shown)
"segments": []
}
]
}

Instalação do Terminal Icons

Toda vez que listar um repositório com o comando ls será exibido os ícones dos arquivos conforme suas extensões, a instalação do Terminal Icons é bem simples e també feita via terminal.

  1. Insira no terminal o comando Install-Module -Name Terminal-Icons -Repository PSGallery.
  2. Após instalado os ícones acesse o perfil do terminal notepad @=$PROFILE e insira a linha Import-Module -Name Terminal-Icons.
  3. Agora teste a instalação usando o comando ls.

Navegação com PSReadLine

O PSReadLine facilita a navegação poís tem um pacote de funções que ajudam o usuário a ter mais produtividade no uso do terminal, sua instalação é via terminao siga os passos:

  1. Efetue a instalção com a linha de comando Install-Module PSReadLine -AllowPrerelease -Force.
  2. Após instalado acesse o perfil do terminal notepad @=$PROFILE.
  3. Insira as linhas:


Import-Module PSReadLine
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineOption -EditMode Windows

  1. Agora digite notepad e perceba que o histórico do que foi digitado antes é exibido.

Alterando as Cores

As cores padrão também podem ser alteradas conforme exemplo:


{
"type": "aws",
"style": "powerline",
"powerline_symbol": "\uE0B0",
"foreground": "#ffffff",
"background": "#111111",
"foreground_templates": [
"{{if contains \"default\" .Profile}}#FFA400{{end}}",
"{{if contains \"jan\" .Profile}}#f1184c{{end}}"
]
}

Corrigindo Fonts no Terminal

Caso o terminal não exiba das fonts é somente rodar o comando oh-my-posh font install --user e todas as fonts e icones irão aparece na linha de comando.
Caso continue aparecendo caracteres qubrados digite o comando notepade $PROFILE e insira a linha oh-my-posh config migrate glyphs --write veja o exemplo abaixo:


import-Module oh-my-posh
Set-PoshPrompt -Theme JanDeDobbeleer
oh-my-posh config migrate glyphs --write

Essa foi a recomendação da própria documentação no link After updating my Nerd Font to a newer version, the prompt displays unknown characters.

Tema Personalizado

É possível também criar o seu próprio tema e personalizar sua linha do terminal como achar melhor. Como foi abordado nos tópicos anteriores, tem na documentação do Oh My Posh a lista de Segments, Colors entre outros.

  1. Utilize o tema padrão JanDeDobbeleer como referência para as alterações.
  2. Acesse o site do Oh My Posh > Menu > Docs > Segments e busque pelo segmento que deseja utilizar.
  3. Copie o segmento e cole dentro do de blocks como mostra abaixo:


{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
...
"blocks": [
{
...
"segments": [
{
"type": "path",
"style": "powerline",
"powerline_symbol": "\uE0B0",
"foreground": "#ffffff",
"background": "#61AFEF",
"template": " {{ .Path }}} ",
"properties": {
...
}
}
]
}
]
}

  1. Salve o arquivo na pasta que deseja e depois insira no perfil do Oh My Posh o diretório para esse arquivo customizado.
  2. Digite no terminal notepad $PROFILE.
  3. Insira a linha: oh-my-posh --init --shell pwsh --config C:\Users\Dev\PowerShell\mytheme.omp.json | Invoke-Expression

Terminal no Visual Studio Code

Para exibir seu terminal no VS Code da mesma forma que no Windows Terminal basta aplicar duas alterações nas configurações.

  1. Acesse: Menu > Settings.
  2. Efetue a pesquisa de terminal.integrated.fontFamily e insira a font "MesloLGM Nerd Font".
  3. Depois pesquise terminal.integrated.fontSize e insira o tamanho 12.

Anexo

No fim o profile do Oh My Posh ficará conforme o exemplo em anexo.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay