다음을 통해 공유


TabExpansion2

powerShell 스크립트에 대한 탭 완성을 제공하기 위해 CompleteInput() 클래스의 메서드를 래핑하는 도우미 함수입니다.

구문

ScriptInputSet (기본값)

TabExpansion2
    [-inputScript] <String>
    [[-cursorColumn] <Int32>]
    [[-options] <Hashtable>]
    [<CommonParameters>]

AstInputSet

TabExpansion2
    [-ast] <Ast>
    [-tokens] <Token[]>
    [-positionOfCursor] <IScriptPosition>
    [[-options] <Hashtable>]
    [<CommonParameters>]

Description

TabExpansion2 사용자 입력에 대한 탭 완성을 제공하는 기본 제공 함수입니다. PowerShell은 사용자가 명령을 입력하는 동안 Tab 누르거나 Ctrl + 키를때 이 함수를 호출합니다. 함수는 현재 입력에 대해 가능한 완료 목록을 반환합니다.

TabExpansion2 일반적으로 사용자가 직접 호출하지 않습니다. 그러나 탭 완성을 테스트하는 데 유용할 수 있습니다. TabExpansion2사용하려면 스크립트에서 현재 입력 스크립트와 커서 위치를 제공해야 합니다. 이 함수는 현재 입력에 대한 가능한 완료 목록을 포함하는 CommandCompletion 개체를 반환합니다. 이 입력 스크립트는 스크립트를 나타내는 문자열 또는 추상 구문 트리(AST)일 수 있습니다.

PowerShell 세션에서 이름이 같은 사용자 지정 함수를 정의하여 TabExpansion2 기본 동작을 재정의할 수 있습니다. 이 사용자 지정 함수는 사용자 지정 명령 또는 매개 변수에 대한 완성을 제공할 수 있습니다. TabExpansion2재정의할 수 있지만 지원되지 않습니다. 탭 완성 동작을 사용자 지정해야 하는 특정한 필요성이 있는 경우에만 사용자 지정 함수를 만들어야 합니다.

예제

예제 1 - 명령 매개 변수에 대한 탭 완성 가져오기

이 예제에서는 PowerShell 명령 프롬프트에 Format-Hex -<Tab> 입력하여 얻을 수 있는 것과 동일한 결과를 보여줍니다. TabExpansion2 함수는 토큰에 대한 가능한 완료 목록을 포함하는 - 개체를 반환합니다.

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 [Object] InputObject
-Encoding            Encoding            ParameterName [string] Encoding
-Raw                 Raw                 ParameterName [switch] Raw
-Verbose             Verbose             ParameterName [switch] Verbose
-Debug               Debug               ParameterName [switch] Debug
-ErrorAction         ErrorAction         ParameterName [ActionPreference] ErrorAction
-WarningAction       WarningAction       ParameterName [ActionPreference] WarningAction
-InformationAction   InformationAction   ParameterName [ActionPreference] InformationAction
-ErrorVariable       ErrorVariable       ParameterName [string] ErrorVariable
-WarningVariable     WarningVariable     ParameterName [string] WarningVariable
-InformationVariable InformationVariable ParameterName [string] InformationVariable
-OutVariable         OutVariable         ParameterName [string] OutVariable
-OutBuffer           OutBuffer           ParameterName [int] OutBuffer
-PipelineVariable    PipelineVariable    ParameterName [string] PipelineVariable

예제 2 - 매개 변수 값에 대한 탭 완성 가져오기

이 예제에서는 매개 변수 값에 대한 탭 완성을 가져오는 방법을 보여줍니다. 이 예제에서는 Stage 매개 변수에 세 가지 가능한 값이 있고 값 중 하나가 Three것으로 예상합니다. 이 기술을 사용하여 함수에 대한 탭 완성이 예상된 결과를 반환하도록 테스트할 수 있습니다.

function Get-Data {
    param (
        [ValidateSet('One', 'Two', 'Three')]
        [string]$Stage
    )
    Write-Verbose "Retrieving data for stage $Stage"
}

$result = TabExpansion2 -inputScript ($line = 'Get-Data -Stage ') -cursorColumn $line.Length |
    Select-Object -ExpandProperty CompletionMatches
$result.Count -eq 3
$result.CompletionText -contains 'Three'
True
True

매개 변수

-ast

탭 완성을 사용하여 확장하려는 스크립트를 나타내는 AST(추상 구문 트리) 개체입니다.

매개 변수 속성

형식:Ast
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

AstInputSet
Position:0
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-cursorColumn

입력 스크립트 문자열에 있는 커서의 열 번호입니다. 커서 위치는 탭 완성에 의해 확장되는 토큰을 결정하는 데 사용됩니다.

매개 변수 속성

형식:Int32
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

ScriptInputSet
Position:1
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-inputScript

탭 완성을 사용하여 확장하려는 스크립트를 나타내는 문자열입니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

ScriptInputSet
Position:0
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-options

CompleteInput() API에 전달할 옵션 값의 해시 테이블입니다. API는 다음 부울 옵션을 허용합니다.

  • IgnoreHiddenShares - $true설정하면 \\COMPUTER\ADMIN$\\COMPUTER\C$같은 숨겨진 UNC 공유를 무시합니다. 기본적으로 PowerShell에는 숨겨진 공유가 포함됩니다.
  • RelativePaths - 기본적으로 PowerShell은 제공한 입력에 따라 경로를 확장하는 방법을 결정합니다. 이 값을 $true 설정하면 PowerShell에서 경로를 상대 경로로 바꿉니다. 이 값을 $false설정하면 PowerShell에서 절대 경로로 바꿉니다.
  • LiteralPaths - 기본적으로 PowerShell은 대괄호 및 백틱과 같은 특수 파일 문자를 이스케이프된 해당 문자로 대체합니다. 이 값을 $true 설정하면 대체가 방지됩니다.

매개 변수 속성

형식:Hashtable
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:3
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-positionOfCursor

입력 AST에 있는 커서의 열 번호입니다. 커서 위치는 탭 완성에 의해 확장되는 토큰을 결정하는 데 사용됩니다.

매개 변수 속성

형식:IScriptPosition
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

AstInputSet
Position:2
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-tokens

입력 스크립트에서 구문 분석된 토큰 배열입니다. 토큰은 탭 완성에 의해 확장되는 토큰을 결정하는 데 사용됩니다.

매개 변수 속성

형식:

Token[]

Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

AstInputSet
Position:1
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

CommonParameters

이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.

입력

None

출력

CommandCompletion