TabExpansion2
Función auxiliar que ajusta el método CompleteInput()
de la clase CommandCompletion para proporcionar finalización de tabulación para los scripts de PowerShell.
TabExpansion2
[-inputScript] <String>
[[-cursorColumn] <Int32>]
[[-options] <Hashtable>]
[<CommonParameters>]
TabExpansion2
[-ast] <Ast>
[-tokens] <Token[]>
[-positionOfCursor] <IScriptPosition>
[[-options] <Hashtable>]
[<CommonParameters>]
TabExpansion2
es una función integrada que proporciona finalización de tabulación para la entrada del usuario. PowerShell llama a esta función cuando el usuario presiona la tecla Tabulador o la combinación de teclas Ctrl + Espacio + mientras escribe un comando. La función devuelve una lista de posibles finalizaciones para la entrada actual.
TabExpansion2
normalmente no es llamado directamente por los usuarios. Sin embargo, puede ser útil para probar la finalización de tabuladores. Para usar TabExpansion2
, debe proporcionar el script de entrada actual y la posición del cursor en el script. La función devuelve un objeto CommandCompletion que contiene una lista de posibles finalizaciones para la entrada actual. Este script de entrada puede ser una cadena o un árbol de sintaxis abstracta (AST) que representa el script.
Puede invalidar el comportamiento predeterminado de TabExpansion2
definiendo una función personalizada con el mismo nombre en la sesión de PowerShell. Esta función personalizada puede proporcionar finalizaciones para comandos o parámetros personalizados. Aunque es posible invalidar TabExpansion2
, no está respaldado. Solo debe crear una función personalizada si tiene una necesidad específica de personalizar el comportamiento de finalización de pestañas.
En este ejemplo se muestran los mismos resultados que obtendría introduciendo Format-Hex -<Tab>
en la consola de PowerShell. La función TabExpansion2
devuelve un objeto CommandCompletion que contiene una lista de posibles finalizaciones para el token -
.
TabExpansion2 -inputScript ($s = 'Format-Hex -') -cursorColumn $s.Length |
Select-Object -ExpandProperty CompletionMatches
CompletionText ListItemText ResultType ToolTip
-------------- ------------ ---------- -------
-Path Path ParameterName [string[]] Path
-LiteralPath LiteralPath ParameterName [string[]] LiteralPath
-InputObject InputObject ParameterName [psobject] InputObject
-Encoding Encoding ParameterName [Encoding] Encoding
-Count Count ParameterName [long] Count
-Offset Offset ParameterName [long] Offset
En este ejemplo se muestra cómo obtener la finalización de tabulación para los valores de parámetro. En este ejemplo, esperamos que parámetro Stage tenga tres valores posibles y que uno de los valores sea Three
. Puede usar esta técnica para probar que la finalización de tabulación de la función devuelve los resultados esperados.
function GetData {
param (
[ValidateSet('One', 'Two', 'Three')]
[string]$Stage
)
Write-Verbose "Retrieving data for stage $Stage"
}
$result = TabExpansion2 -inputScript ($line = 'GetData -Stage ') -cursorColumn $line.Length |
Select-Object -ExpandProperty CompletionMatches
$result.Count -eq 3
$result.CompletionText -contains 'Three'
True
True
Objeto de árbol de sintaxis abstracta (AST) que representa el script que quiere expandir mediante la finalización de tabulaciones.
Tipo: | Ast |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
El número de columna del cursor en la cadena del script de entrada. La posición del cursor se usa para determinar el token que se expande mediante la finalización de tabulación.
Tipo: | Int32 |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Cadena que representa el script que desea expandir mediante la finalización de tabulación.
Tipo: | String |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Tabla hash de valores de opción que se van a pasar a la API de CompleteInput()
. La API acepta las siguientes opciones booleanas:
-
IgnoreHiddenShares
: cuando se establece en$true
, omita los recursos compartidos UNC ocultos, como\\COMPUTER\ADMIN$
y\\COMPUTER\C$
. De forma predeterminada, PowerShell incluye recursos compartidos ocultos. -
RelativePaths
: de forma predeterminada, PowerShell decide cómo expandir las rutas de acceso en función de la entrada proporcionada. Establecer este valor en$true
obliga a PowerShell a reemplazar las rutas por rutas relativas. Al establecer este valor en$false
, se fuerza a PowerShell a reemplazarlos por rutas de acceso absolutas. -
LiteralPaths
: de forma predeterminada, PowerShell reemplaza caracteres de archivo especiales, como corchetes y comillas inversas, por sus equivalentes escapados. Establecer este valor en$true
impide el reemplazo.
Tipo: | Hashtable |
Posición: | 3 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Número de columna del cursor en el AST de entrada. La posición del cursor se usa para determinar el token que se expande mediante la finalización de tabulación.
Tipo: | IScriptPosition |
Posición: | 2 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Matriz de tokens analizados desde el script de entrada. Los tokens se usan para determinar el token que se expande mediante la finalización de tabulación.
Tipo: | Token[] |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
None
Comentarios de PowerShell
PowerShell es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: