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.
PowerShell fournit des complétions sur les entrées pour fournir des indicateurs, activer la découverte et accélérer la saisir des entrées. Les noms de commandes, les noms de paramètres, les valeurs d’argument et les chemins d’accès aux fichiers peuvent tous être terminés en appuyant sur la touche Tab.
La touche Tab est le raccourci clavier par défaut sur Windows.
PSReadLine fournit également une MenuComplete
fonction liée à Ctrl+Espace. La MenuComplete
fonction affiche une liste d’achèvements correspondants sous la ligne de commande.
Ces touches peuvent être modifiées à l’aide d’applets de commande PSReadLine ou dans l'application qui héberge PowerShell. Les keybindings peuvent être différents sur les plateformes autres que Windows. Pour plus d’informations, consultez about_PSReadLine_Functions.
Fonctionnalités de complétion par tabulation intégrées
PowerShell a activé la complétion automatique par onglets pour de nombreux aspects de l’expérience de ligne de commande.
Saisie semi-automatique du nom de fichier
Pour renseigner automatiquement un nom de fichier ou un chemin d’accès à partir des choix disponibles, tapez une partie du nom et appuyez sur la touche Tab. PowerShell étend automatiquement le nom à la première correspondance qu’il trouve. Appuyer à nouveau sur la touche Tab pour faire défiler tous les choix disponibles à chaque pression sur la touche.
Complétion du nom de commande et de paramètre
Le développement par tabulation des noms d’applet de commande est légèrement différent. Pour développer par tabulation un nom d’applet de commande, tapez la première partie entière du nom (verbe) et le trait d’union qui suit. Vous pouvez entrer davantage de caractères du nom pour une correspondance partielle. Par exemple, si vous tapez get-co
, puis appuyez sur la touche Tabulation, PowerShell développe automatiquement cela en le Get-Command
cmdlet (notez qu’il modifie également la casse des lettres pour les mettre sous leur forme standard). Si vous appuyez à nouveau sur Tab touche, PowerShell remplace cela par le seul autre nom d’applet de commande correspondant, Get-Content
. La saisie semi-automatique de tabulation fonctionne également pour résoudre les alias PowerShell et les exécutables natifs.
Le graphique suivant montre des exemples de complétion d'onglets et de menus.
Autres améliorations du système de complétion d'onglets
Chaque nouvelle version de PowerShell inclut des améliorations apportées à la saisie semi-automatique des onglets qui corrigent les bogues et améliorent la facilité d’utilisation.
PowerShell 7.0
- La complétion par tabulation résout les affectations de variables qui sont des énumérations ou qui sont restreintes par type.
- La complétion automatique par tabulation étend les applets de commande et les fonctions abrégées. Par exemple,
i-psdf<tab>
retourneImport-PowerShellDataFile
PowerShell 7.2
- Corriger la saisie semi-automatique pour les rubriques non localisées
about*
- Correction de l’platissement traité comme paramètre positionnel dans les achèvements
- Ajouter des complétions automatiques pour les mots clés d’aide basés sur les commentaires
- Ajouter la saisie semi-automatique pour les instructions
#Requires
- Ajouter la saisie semi-automatique par tabulation pour le paramètre View des cmdlets
Format-*
- Ajouter la prise en charge des compléteurs d'arguments à base de classes
PowerShell 7.3
- Correction de l'achèvement automatique dans le bloc de script spécifié pour le
ValidateScriptAttribute
- Ajout de la complétion automatique par tabulation pour les étiquettes de boucle après
break
etcontinue
- Améliorer la complétion de la table de hachage dans plusieurs scénarios
- Platissement des paramètres
-
Paramètre Arguments pour
Invoke-CimMethod
-
Paramètre FilterHashtable pour
Get-WinEvent
- Paramètre de propriété pour les applets de commande CIM
- Supprime les doublons des scénarios de terminaison de membre
- Prise en charge des barres obliques dans la saisie semi-automatique du partage réseau (chemin UNC)
- Améliorer la saisie semi-automatique des membres
- Prioriser les complétions plutôt que les énumérations pour les paramètres
- Ajouter la prise en charge de l’inférence de type pour les méthodes génériques avec des paramètres de type
- Améliorer l’inférence de type et les achèvements
- Permet d’afficher les méthodes dans les résultats d'achèvement pour
ForEach-Object -MemberName
- Empêche l’achèvement sur les expressions qui retournent void comme (
[void]("")
) - Permet aux constructeurs de classe autres que ceux par défaut de s’afficher lorsque la complétion de classe est basée sur l’AST
- Permet d’afficher les méthodes dans les résultats d'achèvement pour
Autres façons d’améliorer la complétion automatique des paramètres de commande
L’expansion de l’onglet intégrée est contrôlée par la fonction interne TabExpansion ou TabExpansion2. Il est possible de créer des fonctions ou des modules qui remplacent le comportement par défaut de ces fonctions. Vous trouverez des exemples dans PowerShell Gallery en recherchant le mot clé TabExpansion .
Utilisation des attributs ValidateSet
ou ArgumentCompletions
avec des paramètres
L’attribut ArgumentCompletions
vous permet d’ajouter des valeurs d’achèvement de tabulation à un paramètre spécifique.
L’attribut ArgumentCompletions
est similaire à ValidateSet
. Les deux attributs acceptent une liste de valeurs à présenter lorsque l’utilisateur appuie sur Tab après le nom du paramètre. Toutefois, contrairement à ValidateSet
, les valeurs ne sont pas validées.
Pour plus d’informations, consultez :
Utilisation de l'attribut ArgumentCompleter
ou Register-ArgumentCompleter
avec des paramètres
Un argument completer est un bloc de script ou une fonction qui fournit une complétion automatique dynamique pour les valeurs des paramètres.
L’attribut ArgumentCompleter
vous permet d’inscrire une fonction qui fournit des valeurs d’achèvement de tabulation pour le paramètre. La fonction completer d’argument doit être disponible pour la fonction contenant le paramètre avec l’attribut ArgumentCompleter
. En règle générale, la fonction est définie dans le même script ou module.
Pour plus d’informations, consultez ArgumentCompleter.
L’applet Register-ArgumentCompleter
de commande inscrit un bloc de script en tant que fonction de complément d’argument au moment de l’exécution pour toute commande que vous spécifiez. Cela vous permet de définir des compléteurs d'arguments en dehors du script ou du module, ou pour les commandes natives. Pour plus d’informations, consultez Register-ArgumentCompleter.
IntelliSense prédictif dans PSReadLine
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. 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, consultez Utilisation des prédicteurs.