Esercitazione: Configurare un prompt personalizzato per PowerShell o WSL con Oh My Posh

Questa esercitazione fornisce alcune risorse e indicazioni per personalizzare il prompt dei comandi per PowerShell o sottosistema Windows per Linux (WSL) usando Oh My Posh. Oh My Posh offre funzionalità di tema per un'esperienza del prompt dei comandi completamente personalizzata che fornisce codice a colori e prompt dello stato Git.

In questa esercitazione apprenderai a:

Windows Terminal Custom Prompt

Installare un tipo di carattere Nerd

I prompt dei comandi personalizzati spesso usano glifi (un simbolo grafico) per applicare uno stile al prompt. Se il tipo di carattere non include glifi appropriati, è possibile che nel prompt vengano visualizzati diversi caratteri Unicode "▯" sostitutivi. Per visualizzare tutti i glifi nel terminale, è consigliabile installare un tipo di carattere nerd.

Se si vuole un tipo di carattere simile a Cascadia Code, il tipo di carattere Caskaydia Cove Nerd è stato creato dal repository Cascadia Code da un membro della community.

Dopo il download, sarà necessario decomprimere e installare il tipo di carattere nel sistema. (Come aggiungere un nuovo tipo di carattere a Windows).

Per impostare un tipo di carattere nerd da usare con Oh My Posh e Terminal Icons, aprire l'interfaccia utente delle impostazioni Terminale Windows selezionando Impostazioni (CTRL+,) dal menu a discesa Terminale Windows. Selezionare il profilo in cui si desidera applicare il tipo di carattere, ad esempio PowerShell, e quindi la scheda Aspetto. Nel menu a discesa Tipo di carattere selezionare CaskaydiaCove Nerd Font o qualsiasi tipo di carattere Nerd da usare con il prompt personalizzato.

Nota

Se si desidera utilizzare un tipo di carattere terminale che non supporta icone del glifo, ad esempio Cascadia Code PL, è consigliabile usare un tema Oh My Posh che contiene la funzione minimal, che indica che non sono necessarie icone aggiuntive.

Personalizzare il prompt di PowerShell con Oh My Posh

Oh My Posh consente di usare un set di colori completo per definire ed eseguire il rendering del prompt del terminale, inclusa la possibilità di usare temi predefiniti o creare un tema personalizzato.

Installare Oh My Posh per PowerShell

Per personalizzare il prompt di PowerShell, è possibile installare Oh My Posh usando winget. Immettere il comando :

winget install JanDeDobbeleer.OhMyPosh

Ciò installerà:

  • oh-my-posh.exe: il file eseguibile di Windows
  • themes: gli ultimi temi Oh My Posh

Sarà necessario accettare le condizioni di origine e potrebbe essere che sia disponibile più di un pacchetto nell'istanza. In questo caso, selezionare l'ID pacchetto che si vuole usare e immettere nuovamente il comando: winget install <package ID>.

Screenshot of winget install oh my posh packages.

Per usare la versione di Microsoft Store di Oh My Posh, che verrà aggiornata automaticamente quando sono disponibili nuove versioni, usare il comando:

winget install XP8K0HKJFRXGCK

Immettere oh-my-posh version per confermare il numero di versione dell'installazione di Oh My Posh. Per assicurarsi di disporre degli aggiornamenti più recenti, è possibile usare il comando seguente: winget upgrade oh-my-posh.

Nota

Se si vuole installare la versione più recente di Oh My Posh in PowerShell, è possibile rimuovere prima i file memorizzati nella cache del modulo OMP e disinstallare il modulo precedente. Sono disponibili istruzioni su come eseguire questa operazione nella documentazione di Oh My Posh. Se si ha più familiarità con il programma di installazione di Scoop o un metodo di installazione manuale che consente l'automazione, questi possono essere usati anche per l'installazione in Windows, basta seguire le istruzioni riportate nella documentazione Oh My Posh.

Scegliere e applicare un tema del prompt di PowerShell

È possibile sfogliare l'elenco completo dei temi nella pagina Temi di Oh my Posh.

Scegliere un tema e aggiornare il profilo di PowerShell con questo comando. È possibile sostituire notepad con l'editor di testo preferito.

notepad $PROFILE

Se viene visualizzato un errore di percorso, potrebbe non essere ancora disponibile un profilo per PowerShell. Per crearne uno, usare il comando di PowerShell seguente per creare un profilo e quindi provare ad aprirlo di nuovo con un editor di testo.

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

Nel file del profilo di PowerShell aggiungere quanto segue alla fine del file per impostare il tema paradox. Sostituire paradox con il tema preferito.

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

A questo punto, ogni nuova istanza di PowerShell inizierà importando Oh My Posh e impostando il tema della riga di comando.

Se si riceve un errore di script quando si tenta di aprire una nuova istanza di PowerShell, i criteri di esecuzione per PowerShell potrebbero essere limitati. Per impostare i criteri di esecuzione di PowerShell su Senza restrizioni, è necessario avviare PowerShell come amministratore e quindi usare il comando seguente:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Nota

Non si tratta del profilo di Terminale Windows. Il profilo di PowerShell è uno script eseguito ogni volta che viene avviato PowerShell. Altre informazioni sui profili di PowerShell.

Suggerimento

Vedere le domande frequenti su Oh My Posh per le risposte a domande o problemi comuni. Per altre informazioni sulla configurazione e sulle impostazioni generali, ad esempio su come ripristinare la directory di lavoro corrente, vedere la documentazione di Oh My Posh.

Personalizzare il prompt WSL con Oh My Posh

Oh My Posh ora consente di personalizzare i prompt WSL, proprio come si farebbe con un prompt di PowerShell usando i temi predefiniti.

Installare Oh My Posh per WSL

È consigliabile installare Oh My Posh per WSL, sia che si usi Bash, Zsh o qualcos'altro, seguendo la guida all'installazione di Linux nella documentazione di Oh My Posh.

Attualmente il percorso consigliato per la personalizzazione delle richieste WSL con Oh My Posh usa la Gestione pacchetti Homebrew per l'installazione. Homebrew ora funziona con WSL. Quando si installa Homebrew per Linux, assicurarsi di seguire le istruzioni nei Passaggi successivi per aggiungere Homebrew al percorso e allo script del profilo della shell bash.

Homebrew installerà:

  • oh-my-posh - Eseguibile, aggiunto a /usr/local/bin
  • themes - gli ultimi temi Oh My Posh

Scegliere e applicare un tema del prompt WSL

I temi Oh My Posh si trovano nella directory oh-my-posh come file JSON. È possibile trovarla immettendo cd $(brew --prefix oh-my-posh), quindi solo cd themes e ls per l'elenco. Per Ubuntu-20.04 in esecuzione tramite WSL, è probabile che il percorso sia simile al seguente: \\wsl.localhost\Ubuntu-20.04\home\linuxbrew\.linuxbrew\Cellar\oh-my-posh\6.34.1\themes. È anche possibile visualizzare l'aspetto dei temi nella documentazione Oh My Posh: Temi.

Per usare un tema, copiarlo dalla cartella themes alla cartella $Home, quindi aggiungere questa riga alla fine del file .profile presente nella cartella $Home:

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

È possibile sostituire jandedobbeleer.omp.json con il nome del tema preferito, purché venga copiato nella cartella $Home.

In alternativa, se si usa oh-my-posh sia in Windows con PowerShell che con WSL, è possibile condividere il tema di PowerShell con WSL puntando a un tema nella home cartella dell'utente di Windows. Nel percorso .profile della distribuzione WSL sostituire ~ con il percorso: /mnt/c/Users/<WINDOWSUSERNAME>. Sostituire <WINDOWSUSERNAME> con il proprio nome utente di Windows.

Se lo si desidera, è possibile personalizzare i temi Oh My Posh.

Usare Terminal-Icons per aggiungere icone di file o cartelle mancanti

Terminal-Icons è un modulo di PowerShell che aggiunge icone di file e cartelle mancanti durante la visualizzazione di file o cartelle in Terminale Windows, cercando l'icona appropriata in base al nome o all'estensione. Tenta di usare icone per file/cartelle noti, ma esegue il fallback a un file o a un'icona di cartella generica se non viene trovato.

Per installare Terminal-Icons con PowerShell, usare il comando:

Install-Module -Name Terminal-Icons -Repository PSGallery

Per altre informazioni, inclusi l'utilizzo e i comandi, vedere il repository Terminal-Icons in GitHub.

Risorse aggiuntive