Le gestionnaire de paquets winget gère désormais l’auto-complétion, comment l’activer ?
Quelques commandes suffisent
Le 15 septembre 2020 à 06h08
4 min
Logiciel
Logiciel
Petit à petit, winget fait son nid. Si l'on attend encore des nouvelles sur son évolution dans les mois à venir ou des avancées majeures, des améliorations se font par petites touches, comme pour l'auto-complétion. Une fonctionnalité qui s'active pour le moment manuellement.
Si Microsoft a dévoilé son gestionnaire de paquets winget à la BUILD 2020, avec un plan de bataille devant mener à une version 1.0 au printemps 2021, l'outil a peu été mis à jour depuis. Les quelques releases diffusées sur le dépôt GitHub du projet sont surtout des phases préparatoires pour des évolutions que l'on attend de pouvoir essayer.
C'est notamment le cas du support des applications disponibles dans le Microsoft Store, qui pourront être installées comme celles du dépôt officiel, auquel tout le monde peut participer. La nouvelle feuille de route qui doit préciser les prochaines grandes étapes n'est toujours pas en ligne. Elle devrait l'être avant la fin de l'année.
Mais bonne nouvelle, on peut activer une fonctionnalité intéressante : l'auto-complétion.
Simplifier l'usage de winget au quotidien
Dans la pratique, elle permet de ne plus avoir à taper le nom d'une commande ou d'une application en entier. Il suffit de taper « winget ins » puis la touche Tabulation pour que la commande « install » soit affichée par exemple. Pour les applications, cela devrait le plus souvent vous éviter d'avoir recours à la recherche.
Ainsi, tapez « winget install ble » puis sur la touche Tabulation pour voir défiler différents noms correspondant si vous cherchez Blender. Le dispositif pioche ses données dans toutes les sources enregistrées. Pour le moment il n'y a que le dépôt communautaire, mais le support du Microsoft Store a été anticipé, précisent les développeurs.
Une manipulation est par contre nécessaire pour profiter de l'auto-complétion. Il faut également disposer de la dernière version de winget en date, soit au moins la v.0.1.42241 Preview pour cette fonctionnalité.
Les exemples donnés par l'équipe en charge du développement de winget
Simple comme un profil PowerShell
La solution passe par les profils PowerShell qui permettent d'enregistrer et d'activer à la demande des comportements spécifiques pour l'utilisateur courant ou tous les utilisateurs/hôtes du système. Le Blocs-notes suffit à l'éditer, puisqu'il s'agit d'un simple fichier texte :
notepad $PROFILE
Cette commande ouvrira le profil de l'utilisateur courant. Par défaut, il n'en existe aucun. Si c'est votre cas, il vous sera proposé de le créer. Pour éditer plutôt le profil de tous les utilisateurs tapez (avec les droits administrateur) :
notepad $PROFILE.AllUsersCurrentHost
Une fois le fichier ouvert, ajoutez-y ce script qui permet d'activer l'auto-complétion pour winget :
Register-ArgumentCompleter -Native -CommandName winget -ScriptBlock {
param($wordToComplete, $commandAst, $cursorPosition)
[Console]::InputEncoding =[Console]::OutputEncoding =$OutputEncoding =[System.Text.Utf8Encoding]::new()
$Local:word =$wordToComplete.Replace('"', '""')
$Local:ast =$commandAst.ToString().Replace('"', '""')
winget complete --word="$Local:word" --commandline "$Local:ast" --position $cursorPosition | ForEach-Object {
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
}
}
Après enregistrement du fichier, vous devez autoriser PowerShell à utiliser des scripts locaux, ce qui est impossible avec les paramètres de sécurité par défaut. Pour cela, tapez la commande suivante avec les droits administrateur :
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Ou si vous voulez que cela s'applique à tous les utilisateurs :
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Cette modification faite, soyez vigilants puisque n'importe quel script PowerShell présent sur la machine pourra être exécuté. Pour revenir en arrière, il vous suffira de taper, selon le cas :
Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope CurrentUser
Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope LocalMachine
Une fois la procédure terminée, fermez toutes les fenêtres PowerShell. Ouvrez-en une nouvelle, l'auto-complétion sera active. Si vous avez une erreur affichée en rouge, c'est qu'une étape s'est mal déroulée.
Le gestionnaire de paquets winget gère désormais l’auto-complétion, comment l’activer ?
-
Simplifier l'usage de winget au quotidien
-
Simple comme un profil PowerShell
Commentaires (6)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 15/09/2020 à 07h44
Ajout sympa, mais sans action de désinstallation, ça reste du gros WIP :)
Vivement la v1 pour voir ce que ça donne par rapport à un choco, même si au début ça risque de manquer de paquets…
Le 15/09/2020 à 08h01
C’est plus la mise à jour qui manque amha que la désinstallation (qui reste facile à mettre en œuvre, même si le fait de pouvoir gérer en ligne de commandes serait un plus Mais bon, une fois l’ajout du Store on aura déjà passé un bon cap. Espérons que ce sera avant la fin de l’année.
Le 15/09/2020 à 09h19
Aussi. Bref les 3 fonctions vitales d’un gestionnaire de paquet… Je suis même étonné qu’ils n’aient pas fait un truc de bout en bout dès le début, même non fonctionnel, pour valider les choix technologiques…
Le 15/09/2020 à 10h08
Je ne comprends même pas qu’il n’y ait pas un winget update… LE truc utile d’un gestionnaire de paquet quand même…
Le 15/09/2020 à 10h14
C’est vraiment pas mal de la part de M$ ils s’ouvrent de plus en plus.
D’accord avec les autres commentaires : sans fonction d’update c’est useless mais ça viendra vite j’espère.
Le 15/09/2020 à 11h00
Si Microsoft a dévoilé son gestionnaire de paquets winget à la BUILD 2020, avec un plan de bataille devant mener à une version 1.0 au printemps 2021,
L’idée n’est pas neuve. Cela fait maintenant 10 piges qu’on en parle pour Windows ? Depuis se7en me semble-t-il.
Espérons que l’intégration des options de purge puissent être adaptées à Windows. Enlever les fichiers de config (user/appdata) ET les entrées dans la BDR (c’est pas faux que c’est bordélique parfois) sera de bon ton. Propre c’est bien mieux. Mais Ashampoo aide un peu déjà…