Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
PSReadLine 2.1.0 a introduit la fonctionnalité IntelliSense prédictive . IntelliSense prédictif fournit des suggestions pour des commandes complètes en fonction des éléments de l'historique de PSReadLine. PSReadLine 2.2.2 étend la puissance d’IntelliSense prédictive en ajoutant la prise en charge des modules plug-in qui utilisent une logique avancée pour fournir des suggestions pour les commandes complètes. La dernière version, PSReadLine 2.2.6, active les prédictions par défaut.
Utilisation prédictive d'IntelliSense
Quand IntelliSense prédictif est activé, la suggestion de prédiction s’affiche sous forme de texte coloré suivant le curseur de l’utilisateur. Les suggestions d’IntelliSense prédictive aident les utilisateurs nouveaux et expérimentés de PowerShell à découvrir, modifier et exécuter des commandes complètes en fonction des prédictions correspondantes. Les suggestions peuvent provenir de l’historique de l’utilisateur et d’autres plug-ins spécifiques au domaine.
Les images précédentes affichent la valeur par défaut InlineView
de la suggestion. La pression de la touche RightArrow accepte une suggestion intégrée. Après avoir accepté la suggestion, vous pouvez modifier la ligne de commande avant d’appuyer sur Entrée pour exécuter la commande.
PSReadLine propose également une ListView
présentation des suggestions.
Dans l’affichage liste, vous pouvez utiliser les touches de direction pour parcourir les suggestions disponibles. L’affichage liste affiche également la source de la prédiction.
PSReadLine est défini par défaut sur InlineView
. Vous pouvez basculer entre InlineView
et ListView
en appuyant sur la touche F2 . Vous pouvez également utiliser le paramètre PredictionViewStyle de Set-PSReadLineOption
pour modifier la vue.
Gestion de l'IntelliSense prédictif
Pour utiliser IntelliSense prédictif, vous devez disposer d’une version plus récente de PSReadLine installée. Pour obtenir de meilleurs résultats, installez la dernière version du module.
Pour installer PSReadLine à l’aide de PowerShellGet :
Install-Module -Name PSReadLine
Vous pouvez également l’installer à l’aide du nouveau module PowerShellGet v3 :
Install-PSResource -Name PSReadLine
PSReadLine peut être installé dans Windows PowerShell 5.1 ou dans PowerShell 7 ou version ultérieure. Pour utiliser les plug-ins predictor, vous devez utiliser PowerShell 7.2 ou une version ultérieure. Windows PowerShell 5.1 peut utiliser le prédicteur basé sur l’historique.
Dans PSReadLine 2.2.6, IntelliSense prédictif est activé par défaut en fonction des conditions suivantes :
- Si le terminal virtuel (VT) est pris en charge et que PSReadLine s’exécute dans PowerShell 7.2 ou version ultérieure, PredictionSource est défini sur
HistoryAndPlugin
- Si VT est pris en charge et PSReadLine s’exécute sur des versions de PowerShell antérieures à 7.2, PredictionSource est défini sur
History
- Si VT n’est pas pris en charge, PredictionSource est défini sur
None
.
Utilisez la commande suivante pour afficher le paramètre actuel :
Get-PSReadLineOption | Select-Object -Property PredictionSource
Vous pouvez modifier la source de prédiction à l’aide de l’applet Set-PSReadLineOption
de commande avec le paramètre PredictionSource .
PredictionSource peut être défini sur :
None
History
Plugin
HistoryAndPlugin
Remarque
Les prédictions basées sur l’historique proviennent de l’historique conservé par PSReadLine. Cet historique est plus complet que l’historique basé sur la session que vous pouvez voir à l’aide Get-History
. Pour plus d’informations, consultez la section Historique des commandes de about_PSReadLine.
Définition de la couleur de prédiction
Par défaut, les prédictions apparaissent en texte gris clair sur la même ligne que celle que l’utilisateur tape. Pour prendre en charge les besoins d’accessibilité, vous pouvez personnaliser la couleur de prédiction. Les couleurs sont définies à l’aide de séquences d’échappement ANSI. Vous pouvez utiliser $PSStyle
pour composer des séquences d’échappement ANSI.
Set-PSReadLineOption -Colors @{ InlinePrediction = $PSStyle.Background.Blue }
Ou vous pouvez créer votre propre. La couleur de texte de prédiction gris clair par défaut peut être restaurée à l’aide de la séquence d’échappement ANSI suivante.
Set-PSReadLineOption -Colors @{ InlinePrediction = "`e[38;5;238m" }
Pour plus d’informations sur la définition de la couleur de prédiction et d’autres paramètres PSReadLine, consultez Set-PSReadLineOption.
Modification des liaisons de touches
PSReadLine contient des fonctions permettant de naviguer et d’accepter des prédictions. Par exemple:
-
AcceptSuggestion
- Accepter la suggestion en ligne actuelle -
AcceptNextSuggestionWord
- Accepter le mot suivant de la suggestion en ligne -
AcceptSuggestion
est intégré dansForwardChar
, qui est lié à RightArrow par défaut -
AcceptNextSuggestionWord
est généré dans la fonctionForwardWord
, qui peut être liée à Ctrl+f
Vous pouvez utiliser l’applet Set-PSReadLineKeyHandler
de commande pour modifier les liaisons de clé.
Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord
Avec cette liaison, appuyez sur Ctrl+f accepte le mot suivant d’une suggestion inline lorsque le curseur se trouve à la fin de la ligne d’édition actuelle. Vous pouvez lier d’autres clés à AcceptSuggestion
et AcceptNextSuggestionWord
pour des fonctionnalités similaires. Par exemple, vous pouvez souhaiter que RightArrow accepte le mot suivant de la suggestion inline, au lieu de toute la ligne de suggestion.
Set-PSReadLineKeyHandler -Chord "RightArrow" -Function ForwardWord
Utilisation d'autres plug-ins prédictifs
Le module Az.Tools.Predictor était le premier plug-in pour IntelliSense prédictif. Il utilise Machine Learning pour prédire la commande Azure PowerShell que vous souhaitez exécuter et les paramètres que vous souhaitez utiliser. Pour plus d’informations et des instructions d’installation, consultez Annonce de la disponibilité générale d’Az.Tools.Predictor.
Le module CompletionPredictor ajoute une expérience IntelliSense pour tout ce qui peut être complété via la touche 'Tab' dans PowerShell. Avec PSReadLine défini sur InlineView
, vous bénéficiez d'une expérience de saisie semi-automatique normale. Lorsque vous basculez vers ListView
, vous bénéficiez de l’expérience IntelliSense. Vous pouvez installer le module CompletionPredictor à partir de PowerShell Gallery.
Comme indiqué précédemment, ListView
vous indique la source de la prédiction. Si plusieurs plug-ins sont installés, les prédictions sont regroupées par source avec l’historique répertorié en premier suivi de chaque plug-in dans l’ordre où ils ont été chargés.
Création de votre propre module de prédiction
Vous pouvez écrire votre propre prédicteur à l’aide de C# pour créer un module PowerShell compilé. Le module doit implémenter l’interface System.Management.Automation.Subsystem.Prediction.ICommandPredictor . Cette interface déclare les méthodes utilisées pour interroger les résultats de prédiction et fournir des commentaires.
Pour plus d’informations, consultez Comment créer un prédicteur de ligne de commande.