Share via


about_Tab_Expansion

간단한 설명

PowerShell은 입력을 완료하여 힌트를 제공하고, 검색을 사용하도록 설정하고, 항목 입력 속도를 향상합니다. 명령 이름, 매개 변수 이름, 인수 값 및 파일 경로는 모두 Tab 키를 눌러 완료할 수 있습니다.

자세한 설명

Tab 확장은 내부 함수 TabExpansion2에 의해 제어됩니다. 이 함수는 수정하거나 재정의할 수 있으므로 이 설명은 기본 PowerShell 구성의 동작에 대한 가이드입니다.

PSReadLine 모듈의 예측 IntelliSense 기능을 통해 탭 확장 동작을 수정할 수도 있습니다. 자세한 내용은 예측 IntelliSense를 참조하세요.

Tab 키는 Windows의 기본 키 바인딩입니다. PSReadLine 모듈 또는 PowerShell을 호스팅하는 애플리케이션을 사용하여 키 바인딩을 변경할 수 있습니다. 키 바인딩은 비 Windows 플랫폼에서 다릅니다. 자세한 내용은 about_PSReadLine을 참조하세요.

참고 항목

탭 확장 프로세스의 한 가지 제한 사항은 탭이 항상 단어를 완료하려는 시도로 해석된다는 것입니다. 명령 예제를 복사하여 PowerShell 콘솔에 붙여넣는 경우 샘플에 탭이 포함되어 있지 않은지 확인합니다. 이 경우 결과는 예측할 수 없으며 의도한 것과 거의 확실하게 다를 수 있습니다.

파일 및 cmdlet 이름 완성

사용 가능한 선택 항목에서 파일 이름 또는 경로를 자동으로 입력하려면 이름의 일부를 입력하고 Tab 키를 누릅니다. PowerShell은 첫 번째로 찾은 일치 항목으로 이름을 자동 확장합니다. Tab 키를 누르면 사용 가능한 모든 선택 항목이 반복됩니다.

cmdlet 이름의 탭 확장은 약간 다릅니다. cmdlet 이름에 대해 탭 확장을 사용하려면 이름의 첫 번째 부분(즉, 동사) 전체와 하이픈을 차례로 입력합니다. 부분 일치 항목의 이름을 더 입력할 수 있습니다. 예를 들어 Tab 키를 입력 get-co 한 다음 누르면 PowerShell에서 자동으로 cmdlet으로 Get-Command 확장됩니다. 문자의 대/소문자도 표준 형식으로 변경됩니다. Tab 키를 다시 누르면 PowerShell에서 일치하는 다른 cmdlet 이름으로Get-Content만 바꿉니다.

참고 항목

PowerShell 7.0 을 기준으로 Tab은 축약된 cmdlet 및 함수도 확장합니다. 예를 들어 i-psdf<tab>Import-PowerShellDataFile를 반환합니다.

탭 완성은 PowerShell 별칭 및 네이티브 실행 파일을 확인하는 데에도 작동합니다.

동일한 줄에서 탭 확장을 반복적으로 사용할 수 있습니다. 예를 들어 다음을 입력하여 cmdlet 이름에 Get-Content 탭 확장을 사용할 수 있습니다.

예제

PS> Get-Con<Tab>

Tab 키를 누르면 명령이 다음으로 확장됩니다.

PS> Get-Content

그런 다음, 활성 설정 로그 파일의 경로를 부분적으로 지정하고 탭 확장을 다시 사용할 수 있습니다.

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

Tab 키를 누르면 명령이 다음으로 확장됩니다.

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

PSReadLine에는 메뉴 완성 기능도 있습니다. Windows의 기본 키 바인딩은 Ctrl+Space입니다.

PS> fore<Ctrl-Space>

Ctrl Space+누르면 PowerShell에서 일치하는 값의 전체 목록을 메뉴로 표시합니다.

PS> foreach
foreach         ForEach-Object  foreach.cmd

이 예제에서는 문자열 'fore'가 (PowerShell 별칭), (cmdlet) ForEach-Object 및 (네이티브 명령)과 foreach.cmd 일치 foreach 합니다. 화살표 키를 사용하여 원하는 값을 선택합니다.

매개 변수 인수 완성

탭 완성은 매개 변수 인수를 완료하는 데에도 작동할 수 있습니다. Tab 키를 사용하여 일부 매개 변수에 유효한 가능한 값 목록을 순환할 수 있습니다. 자세한 내용은 about_Functions_Argument_Completion 참조하세요.

열거형 값 완성

PowerShell 7.0은 열거형의 탭 완성에 대한 지원을 추가했습니다. 탭 완성을 사용하여 열거형을 사용하는 모든 위치에서 원하는 값을 선택할 수 있습니다. 예시:

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

[Suits]$suit = 'c<Tab>

열거형 값은 문자열이므로 완료할 값은 단일 또는 큰따옴표 문자로 시작해야 합니다.

Tab 키를 누르면 다음 결과가 표시됩니다.

[Suits]$suit = 'Clubs'

탭 완성은 .NET 열거형에서도 작동합니다.

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

Tab 키를 두 번 누르면 문자S로 시작하는 두 값이 순환됩니다. 최종 결과는 다음과 같습니다.

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

PowerShell 7.0부터 변수에 할당할 때의 ValidateSet 값에 대한 탭 확장이 추가되었습니다. 예를 들어 다음 변수 정의를 입력하는 경우:

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

Tab 키를 누르면 다음 결과가 표시됩니다.

$flavor = 'Chocolate'

주석 기반 키워드(keyword) 대한 탭 완성

PowerShell 7.2부터 매개 변수의 #requires 탭 완성 및 주석 기반 도움말에 대한 키워드(keyword) 대한 지원이 추가되었습니다.

문 예제 #requires

#requires -<Ctrl-Space>

메뉴 확장에는 다음 매개 변수 옵션이 표시됩니다.

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

주석 기반 도움말 예제

<#
    .<Ctrl-Space>

메뉴 확장에는 다음과 같은 키워드(keyword) 옵션이 표시됩니다.

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

참고 항목