about_Tab_Expansion

Description courte

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 commande, les noms de paramètre, les valeurs d’argument et les chemins de fichier peuvent tous être complétés en appuyant sur la touche Tab.

Description longue

L’extension de tabulation est contrôlée par la fonction interne TabExpansion2. Étant donné que cette fonction peut être modifiée ou remplacée, cette explication a trait au comportement de la configuration PowerShell par défaut.

Le comportement d’extension de tabulation peut également être modifié par la fonctionnalité IntelliSense prédictive du module PSReadLine. Pour plus d’informations, consultez IntelliSense prédictif.

La touche Tab est la combinaison de touches par défaut sur Windows. Vous pouvez modifier la liaison de clés à l’aide du module PSReadLine ou de l’application qui héberge PowerShell. La liaison de clés est différente sur les plateformes autres que Windows. Pour plus d’informations, consultez about_PSReadLine.

Remarque

Une limitation du processus de développement par tabulation est que les tabulations sont toujours interprétées comme des tentatives de compléter un mot. Si vous copiez et collez des exemples de commandes dans une console PowerShell, assurez-vous que l’exemple ne contient pas d’onglets. Si c’est le cas, les résultats seront imprévisibles et ne seront presque certainement pas ce que vous avez prévu.

Saisie semi-automatique du nom du fichier et de l’applet de commande

Pour renseigner automatiquement un nom de fichier ou un chemin d’accès à partir des choix disponibles, tapez une partie du nom, puis appuyez sur la touche Tab. PowerShell développe automatiquement le nom sur la base de la première correspondance qu’il trouve. Appuyez sur tabulation à plusieurs reprises pour parcourir toutes les options disponibles.

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 tapezget-co, puis appuyez sur tabulation, PowerShell étend automatiquement cette option à l’applet Get-Command de commande. Notez qu’il modifie également la casse des lettres à leur forme standard. Si vous appuyez de nouveau sur la touche Tab, PowerShell remplace ce nom par le seul autre nom d’applet de commande correspondant, Get-Content.

Remarque

À partir de PowerShell 7.0, Tab développe également les applets de commande et les fonctions abrégées. Par exemple, i-psdf<tab> retourne Import-PowerShellDataFile.

La saisie semi-automatique de tabulation fonctionne également pour résoudre les alias PowerShell et les exécutables natifs.

Vous pouvez utiliser le développement par tabulation à plusieurs reprises sur la même ligne. Par exemple, vous pouvez l’utiliser sur le nom de l’applet de commande Get-Content en entrant ce qui suit :

Exemples

PS> Get-Con<Tab>

Lorsque vous appuyez sur la touche Tab, la commande est développée en :

PS> Get-Content

Vous pouvez ensuite partiellement spécifier le chemin d’accès au fichier journal Active Setup, puis utiliser à nouveau le développement par tabulation :

PS> Get-Content c:\windows\acts<Tab>

Lorsque vous appuyez sur la touche Tab, la commande est développée en :

PS> Get-Content C:\windows\actsetup.log

PSReadLine dispose également d’une fonctionnalité d’achèvement de menu. La liaison de touche par défaut sur Windows est l’espace Ctrl+.

PS> fore<Ctrl-Space>

Lorsque vous appuyez sur Ctrl+Espace, PowerShell présente la liste complète des valeurs correspondantes sous forme de menu :

PS> foreach
foreach         ForEach-Object  foreach.cmd

Dans cet exemple, la chaîne « fore » est mise en foreach correspondance avec (alias PowerShell), ForEach-Object (applet de commande) et foreach.cmd (commande native). Utilisez les touches de direction pour sélectionner la valeur souhaitée.

Saisie semi-automatique de l’argument de paramètre

La saisie semi-automatique de tabulation peut également fonctionner pour terminer les arguments de paramètre. Vous pouvez utiliser la touche Tab pour parcourir une liste de valeurs possibles valides pour certains paramètres. Pour plus d’informations, consultez about_Functions_Argument_Completion.

Achèvement de la valeur énumérée

PowerShell 7.0 a ajouté la prise en charge de la saisie semi-automatique par tabulation des énumérations. Vous pouvez utiliser la saisie semi-automatique de tabulation pour sélectionner la valeur souhaitée n’importe où vous utilisez une énumération. Par exemple :

enum Suits {
    Clubs = 0
    Diamonds = 1
    Hearts = 2
    Spades = 3
}

[Suits]$suit = 'c<Tab>

Les valeurs énumérées sont des chaînes. Par conséquent, la valeur à terminer doit commencer par un caractère de guillemet simple ou double.

Lorsque vous appuyez sur la touche Tab , vous obtenez les résultats suivants :

[Suits]$suit = 'Clubs'

La saisie semi-automatique de tabulation fonctionne également avec les énumérations .NET.

[System.IO.FileAttributes]$attr = 'S<Tab><Tab>

Appuyez deux fois sur la touche Tab pour parcourir les deux valeurs qui commencent par la lettre S. Le résultat final est :

[System.IO.FileAttributes]$attr = 'System'

À compter de PowerShell 7.0, l’extension de tabulation a été ajoutée pour les valeurs de ValidateSet l’affectation à une variable. Par exemple, si vous tapez la définition de variable suivante :

[ValidateSet('Chocolate', 'Strawberry', 'Vanilla')]
[string]$flavor = 'Strawberry'
$flavor = <tab>

Lorsque vous appuyez sur la touche Tab , vous obtenez le résultat suivant :

$flavor = 'Chocolate'

Saisie semi-automatique des onglets pour les mot clé basées sur des commentaires

À compter de PowerShell 7.2, la prise en charge a été ajoutée pour la #requires saisie semi-automatique des onglets des paramètres et des mot clé pour l’aide basée sur les commentaires.

Exemple d’instruction #requires

#requires -<Ctrl-Space>

L’extension de menu affiche les options de paramètre suivantes :

#requires -<Ctrl-Space>
Modules     PSEdition     RunAsAdministrator    Version

Exemple d’aide basée sur des commentaires

<#
    .<Ctrl-Space>

L’extension de menu affiche les options de mot clé suivantes :

 <#
    .COMPONENT
COMPONENT      EXTERNALHELP           FUNCTIONALITY     NOTES         REMOTEHELPRUNSPACE
DESCRIPTION    FORWARDHELPCATEGORY    INPUTS            OUTPUTS       ROLE
EXAMPLE        FORWARDHELPTARGETNAME  LINK              PARAMETER     SYNOPSIS

Voir aussi