Tutoriel – Configurer une invite personnalisée pour PowerShell ou WSL avec Oh My Posh

Oh My Posh fournit des fonctionnalités de thème pour une expérience d’invite de commandes entièrement personnalisée fournissant le codage de couleur et les invites d’état Git.

Si vous souhaitez simplement personnaliser les jeux de couleurs ou l’apparence de votre terminal, vous pouvez le faire dans les paramètres Terminal Windows (sans avoir à installer les thèmes Oh My Posh).

Dans ce tutoriel, vous allez apprendre à :

Invite de commandes personnalisée dans le Terminal Windows

Installer une police Nerd

Les invites de commande personnalisées utilisent souvent des glyphes (symbole graphique) pour mettre en forme l’invite. Si votre police n’inclut pas les glyphes appropriés, vous pouvez voir plusieurs caractères de remplacement Unicode « ▯ » dans votre invite.

Pour afficher tous les glyphes de votre terminal, nous vous recommandons d’installer une police Nerd comme Cascadia Code NF, qui peut être téléchargée à partir de la page de publication du code Cascadia.

Une fois le téléchargement terminé, décompressez la police et installez-la sur votre système. (Comment ajouter une nouvelle police à Windows).

Pour définir une police Nerd à utiliser avec Oh My Posh et Terminal-Icons, ouvrez l’interface utilisateur des paramètres du Terminal Windows en sélectionnant Paramètres (Ctrl+,) dans le menu déroulant Terminal Windows. Sélectionnez le profil dans lequel vous souhaitez appliquer la police (PowerShell, par exemple), puis sélectionnez Apparence. Dans le menu déroulant Visage de police, sélectionnez Cascadia Code NF ou la police Nerd que vous souhaitez utiliser.

Remarque

Si vous souhaitez utiliser une police de terminal qui ne prend pas en charge les icônes de glyphe, telles que Cascadia Code PL, envisagez d’utiliser un thème Oh My Posh qui contient la minimal fonction, indiquant que des icônes supplémentaires ne sont pas requises.

Personnaliser votre invite PowerShell avec Oh My Posh

Oh My Posh vous permet d’utiliser un jeu de couleurs complet pour définir et afficher votre invite de commandes. Vous pouvez utiliser des thèmes intégrés ou créer votre propre thème.

Installer Oh My Posh pour PowerShell

Pour personnaliser votre invite PowerShell, installez Oh My Posh à l’aide de winget, qui installera :

Pour démarrer l’installation, entrez la commande suivante :

winget install JanDeDobbeleer.OhMyPosh

Vous devrez accepter les termes sources et pourrez rencontrer des cas où plusieurs packages sont disponibles. Dans ce cas, sélectionnez l’ID de package que vous souhaitez utiliser et entrez à nouveau la commande : winget install <package ID>.

Capture d’écran de l’installation par winget de packages oh my posh.

Pour utiliser la version du Microsoft Store de Oh My Posh, qui sera automatiquement mise à jour lorsque de nouvelles versions sont disponibles, utilisez la commande :

winget install XP8K0HKJFRXGCK

Entrez oh-my-posh version pour confirmer le numéro de version de votre installation Oh My Posh. Pour vous assurer que vous disposez des dernières mises à jour, vous pouvez utiliser la commande suivante : winget upgrade oh-my-posh.

Notes

Si vous souhaitez installer la version la plus récente de Oh My Posh dans PowerShell, vous pouvez d’abord supprimer les fichiers mis en cache du module OMP et désinstaller l’ancien module. Il existe des instructions pour ce faire dans la documentation Oh My Posh. Si vous êtes plus familier avec le programme d’installation de Scoop ou une méthode d’installation manuelle qui permet l’automatisation, ceux-ci peuvent également être utilisés pour l’installation sur Windows, suivez simplement les instructions de la documentation Oh My Posh.

Choisir et appliquer un thème d’invite PowerShell

Vous pouvez parcourir la liste complète des thèmes dans la page Oh My Posh themes.

Choisissez un thème et mettez à jour votre profil PowerShell avec cette commande. (Vous pouvez remplacer notepad par l’éditeur de texte de votre choix.)

notepad $PROFILE

Si vous recevez une erreur de chemin d’accès, vous n’avez peut-être pas encore de profil pour PowerShell. Utilisez la commande PowerShell suivante pour créer un profil, puis réessayez de l’ouvrir avec un éditeur de texte.

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

Ajoutez le code suivant à la fin de votre fichier de profil PowerShell pour définir le thème paradox. (Remplacez paradox par le thème de votre choix.)

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

À présent, chaque nouvelle instance PowerShell commence par importer Oh My Posh et définir votre thème.

Si vous recevez une erreur de script lors de la tentative d’ouverture d’une nouvelle instance PowerShell, votre stratégie d’exécution pour PowerShell peut être restreinte. Pour définir une stratégie d’exécution PowerShell sans restriction, vous devez lancer PowerShell en tant qu’administrateur, puis utiliser la commande suivante :

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Remarque

Il ne s’agit pas de votre profil Terminal Windows. Votre profil PowerShell est un script qui s’exécute chaque fois que PowerShell démarre. En savoir plus sur les profils PowerShell.

Conseil

Pour obtenir des réponses aux questions fréquentes ou aux problèmes courants, consultez le FAQ Oh My Posh. Pour en savoir plus sur la configuration et les paramètres généraux, notamment la restauration du répertoire de travail actuel, consultez la documentation Oh My Posh.

Personnaliser votre invite WSL avec Oh My Posh

Oh My Posh vous permet également de personnaliser des invites WSL à l’aide de thèmes intégrés.

Installer Oh My Posh pour WSL

Nous vous recommandons d’installer Oh My Posh pour WSL, que vous utilisiez Bash, Zsh ou autre chose, en suivant le guide d’installation Linux dans la documentation Oh My Posh.

La personnalisation des invites WSL avec Oh My Posh utilise le gestionnaire de package Homebrew pour l’installation. Lors de l’installation de Homebrew pour Linux, veillez à suivre les instructions des étapes suivantes pour ajouter Homebrew à votre CHEMIN et à votre script de profil d’interpréteur de commandes bash.

Homebrew va installer :

  • oh-my-posh : un executable, ajouté à /usr/local/bin
  • themes : les derniers thèmes Oh My Posh

Choisir et appliquer un thème d’invite WSL

Les thèmes Oh My Posh se trouvent dans le répertoire oh-my-posh sous forme de fichiers JSON. Pour trouver ce dernier, entrez cd $(brew --prefix oh-my-posh), puis simplement cd themes et ls pour obtenir la liste. Pour Ubuntu-20.04 exécuté par le biais de WSL, le chemin ressemble probablement à celui-ci : \\wsl.localhost\Ubuntu-20.04\home\linuxbrew\.linuxbrew\Cellar\oh-my-posh\6.34.1\themes. Vous pouvez voir à quoi ressemblent les thèmes dans la documentation Oh My Posh Themes.

Pour utiliser un thème, copiez-le à partir du dossier themes vers votre dossier $Home, puis ajoutez cette ligne au bas du fichier .profile qui se trouve dans votre dossier $Home :

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

Vous pouvez remplacer jandedobbeleer.omp.json par le nom du thème que vous souhaitez utiliser (assurez-vous simplement qu’il est copié dans votre $Home dossier).

Si vous utilisez oh-my-posh à la fois dans Windows avec PowerShell et avec WSL, vous pouvez également partager votre thème PowerShell avec WSL en pointant sur un thème dans le dossier de base de votre utilisateur Windows. Dans le chemin .profile de votre distribution WSL, remplacez ~ par le chemin : /mnt/c/Users/<WINDOWSUSERNAME>. Remplacement de <WINDOWSUSERNAME> par votre propre nom d’utilisateur Windows.

Si vous le souhaitez, vous pouvez personnaliser les thèmes Oh My Posh.

Utiliser Terminal-Icons pour ajouter des icônes de fichier ou dossier manquantes

Terminal-icons est un module PowerShell qui permet d’ajouter des icônes de fichier et dossier susceptibles d’être manquantes lors de l’affichage de fichiers ou dossiers dans Terminal Windows, en recherchant leur icône appropriée en fonction de leur nom ou extension. Le module tente d’utiliser des icônes pour les fichiers/dossiers connus, mais revient à une icône de fichier ou dossier générique si aucune icône n’est trouvée.

Pour installer Terminal-Icons avec PowerShell, utilisez la commande suivante :

Install-Module -Name Terminal-Icons -Repository PSGallery

Pour plus d’informations, notamment sur l’utilisation et les commandes, consultez le dépôt Terminal-Icons sur GitHub.

Ressources supplémentaires

  • Documentation Oh My Posh
  • Dépôt Terminal-Icons
  • Documentation Posh-Git : Posh-Git est un module PowerShell qui intègre Git et PowerShell en fournissant des informations récapitulatives de l’état Git affichables dans l’invite PowerShell.
  • Documentation PowerLine : PowerLine est un plug-in de ligne d’état pour vim qui fournit des lignes d’état et des invites pour plusieurs autres applications, notamment zsh, bash, tmux, IPython, Awesome, i3 et Qtile.