Esercitazione: Configurare un prompt personalizzato per PowerShell o WSL con 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.
Se vuoi solo personalizzare le combinazioni di colori o l'aspetto del terminale, puoi farlo nelle impostazioni di Terminale Windows (senza la necessità di installare i temi Oh My Posh).
In questa esercitazione apprenderai a:
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 i glifi appropriati, nella richiesta potrebbero essere visualizzati diversi caratteri di sostituzione Unicode '▯'.
Per visualizzare tutti i glifi nel terminale, è consigliabile installare un tipo di carattere Nerd come Cascadia Code NF, che può essere scaricato dalla pagina di rilascio del codice Cascadia.
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 selezionare Aspetto. Nel menu a discesa Tipo di carattere selezionare Cascadia Code NF o qualsiasi tipo di carattere nerd che si desidera usare.
Nota
Se vuoi usare un tipo di carattere terminale che non supporta le icone del glifo, ad esempio Cascadia Code PL, prendi in considerazione l'uso di un tema Oh My Posh che contiene la minimal
funzione, a indicare 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, installare Oh My Posh usando winget, che installerà:
oh-my-posh.exe
: il file eseguibile di Windowsthemes
: gli ultimi temi Oh My Posh
Per avviare l'installazione, immettere il comando :
winget install JanDeDobbeleer.OhMyPosh
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 del pacchetto che si vuole usare e immettere nuovamente il comando : winget install <package ID>
.
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.
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 consente anche di personalizzare i prompt WSL usando 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.
La personalizzazione delle richieste WSL con Oh My Posh usa la gestione pacchetti Homebrew per l'installazione. Quando si installa Homebrew per Linux, assicurarsi di seguire le istruzioni 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/binthemes
- 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
. È possibile visualizzare l'aspetto dei temi nella documentazione Oh My Posh Themes (Temi posh personali).
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)"
Puoi sostituire jandedobbeleer.omp.json
con il nome del tema che vuoi usare (assicurati solo che venga copiato nella $Home
cartella).
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
- Documentazione su Oh My Posh
- Repository Terminal-Icons
- Documentazione di Posh-Git: Posh-Git è un modulo di PowerShell che integra Git e PowerShell fornendo informazioni di riepilogo dello stato Git che possono essere visualizzate nel prompt di PowerShell.
- Documentazione di PowerLine: Powerline è un plug-in statusline per VIM e fornisce linee di stato e richieste per diverse altre applicazioni, tra cui zsh, bash, tmux, IPython, Awesome, i3 e Qtile.