Windows Terminal est la nouvelle application de terminal pour les utilisateurs de ligne de commande fournie (gratuitement) par Microsoft.
Celui-ci inclus les fonctionnalités les plus demandées par les utilisateurs des outils en lignes de commande sous Windows, comme les onglets, le texte riche, la globalisation, les possibilités de configuration avancées, les thèmes et styles de l’interface et plus encore…
Ce tutoriel présente en détail l’installation et la configuration complète du Windows Terminal.
Petit exemple de ma config perso :
Windows Terminal est maintenant fourni par défaut dans Windows 11. Si celui-ci est déjà installé sur votre machine, vous pouvez passez directement au chapitre Configuration
La configuration minimale est la suivante :
Pour obtenir le logiciel, la solution la plus simple et la plus rapide est de la télécharger depuis le Windows App Store ici:
https://www.microsoft.com/fr-fr/p/windows-terminal-preview/9n0dx20hk701?activetab=pivot:overviewtab
Une fois le téléchargement terminé, vous pouvez lancer l’application. Par défaut, l’interface est neutre mais ne demande qu’à être personnalisée. A l’ouverture, le shell par défaut PowerShell est activé.
L’accès aux shells et aux paramétrage se fait à partir du bouton [V]. Le bouton [+] ouvre le shell défini par défaut dans un nouvel onglet. Initialement, le terminal intègre la configuration des shells PowerShell, cmd (l’original shell de MSDos) et Azure Cloud Shell :
Lancer le Terminal.
Les Paramètres sont définis dans un fichier en syntaxe JSON. Ils sont accessibles depuis le bouton [V]/Paramètres/Ouvrir le fichier JSON :
Un clic sur cet item entraîne l’ouverture du fichier JSON dans votre éditeur de texte par défaut.
Comme le terminal est une application UWP, ses données sont déployées dans le dossier AppData de l’utilisateur.
Le chemin complet du fichier des paramètres se trouve ici:
%USERPROFILE%\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
Pour la même raison, il est recommandé de placer les fichiers de données utilisés par les paramètres dans le répertoire ms-appdata:///roaming/ soit:
%USERPROFILE%\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState
Pour conserver les fichiers avec liaison au compte Microsoft (si activé) et itinérance de ceux-ci ou ms-appdata:///local/
, mais cela fonctionnera également si les fichiers sont placés dans un autre path. Windows Terminal applique les paramètres à chaque fois que le fichier est sauvegarder dans l’éditeur de texte.
On trouve dans le fichier 3 sections principales:
Dans la section defaults, on place les paramètres pour personnaliser le terminal quelque soit le shell ouvert. On pourra changer la personnalisation par shell dans les entrées de la section list.
Un jeu de paramètres est stocké dans un profil, stockés dans la section profiles > list.
Initialement, chaque shell intégré possède son propre profile.
Chaque profil peut être identifié de manière unique par un GUID.
Le profil par défaut (« defaults ») permet d’effectuer des réglages par défaut pour tous les profiles, qui peuvent être surchargés pour chaque profil dans sa section respective. Ainsi initialement on dispose des entrées suivantes correspondantes aux 3 shells intégrés :
{
// powershell.exe profile
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false
},
{
// cmd.exe profile
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "cmd",
"commandline": "cmd.exe",
"hidden": false
},
{
// azure cloud shell profile
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
}
Les profils listés ici apparaissent dans le menu [V] si l’attribut hidden n’a pas la valeur true.
Ouvrez le fichier settings.json dans votre éditeur par défaut.
Sous la liste des profils, mettez à jour le profil powershell ( À adapter) :
{
// Make changes here to the powershell.exe profile.
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe -NoLogo -NoExit",
"hidden": false,
"colorScheme": "Blue Matrix",
"fontFace": "Cascadia Code",
"fontSize": 10,
"icon": "ms-appdata:///roaming/xxx.XXX"
"backgroundImage": "ms-appdata:///roaming/xxx.gif",
"backgroundImageOpacity": 0.2,
"acrylicOpacity": 0.8,
"useAcrylic": true,
"startingDirectory": "Q:\\Development"
},
Assurez-vous de mettre à jour l’icône et l’image d’arrière-plan à votre convenance)
Assurez-vous que votre defaultProfile a le guid de votre powershell
– La prochaine étape consiste à mettre à jour notre liste de schémas:
"schemes": [
{
"name": "Blue Matrix",
"black": "#101116",
"red": "#ff5680",
"green": "#00ff9c",
"yellow": "#fffc58",
"blue": "#00b0ff",
"purple": "#d57bff",
"cyan": "#76c1ff",
"white": "#c7c7c7",
"brightBlack": "#686868",
"brightRed": "#ff6e67",
"brightGreen": "#5ffa68",
"brightYellow": "#fffc67",
"brightBlue": "#6871ff",
"brightPurple": "#d682ec",
"brightCyan": "#60fdff",
"brightWhite": "#ffffff",
"background": "#1d2342",
"foreground": "#b8ffe1"
}
],
Plus de thèmes disponible ici: https://windowsterminalthemes.dev
C’est à peu près pour les paramètres du terminal Windows, passons à l’ajout d’un plugin sympas nommé Oh My Posh 🔥
Prérequis:
Vous pouvez en utiliser une autre police Nerd Font parmi la liste disponible, il faudra adapter le profile powershell en conséquence. les polices Nerd Fonts permettent d’afficher des icones dans les prompts avec les thèmes Oh My Posh qui le propose !
On change la politique de script de powershell qui va nbou bloquer plus tard :
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
On installe le module GIT (optionnel):
Install-Module posh-git -Scope CurrentUser
Ouvrez votre profil PowerShell avec le bloc-notes ou l’éditeur de texte de votre choix.
Ce n’est pas votre profil de terminal Windows.
Votre profil PowerShell est un script qui s’exécute à chaque démarrage de PowerShell.
Vous pouvez savoir si vous avez un profil et sa localisation avec la commande Powershell suivante:
$PROFILE | Get-Member -Type NoteProperty
Si votre powershell n’a pas encore de profil, créez-en un ->
if (!(Test-Path -Path $PROFILE)) {
New-Item -ItemType File -Path $PROFILE -Force
}
Maintenant, allez-y et ajoutez le code suivant dans votre fichier de profil powershell (optionnel):
Import-Module posh-git
Oh My Posh est un moteur d’invite de commande personnalisé pour tout shell qui a la capacité d’ajuster la chaîne d’invite avec une fonction ou une variable.
On installe manuellement Oh My Posh via Powershell:
Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://ohmyposh.dev/install.ps1'))
Le thème est à configuré dans votre fichier de profil de Powershell en y ajoutant la ligne suivante:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/paradox.omp.json" | Invoke-Expression
j’utilise ici le thème paradox. À vous d’adapter
Plus de thèmes ici : https://ohmyposh.dev/docs/themes
Vous pouvez utiliser bien sur, d’autres themes Oh my Posh si vous voulez, adaptez juste en conséquence
Pour changer les polices Nerd Fonts cela peut aussi être fait graphiquement pour chaque profiles via le menu Paramètres/Votre Profil/Apparences/Type de polices
Bonne personnalisation !!!