about_Tab_Expansion
Deskripsi singkat
PowerShell menyediakan penyelesaian input untuk memberikan petunjuk, mengaktifkan penemuan, dan mempercepat entri input. Nama perintah, nama parameter, nilai argumen, dan jalur file semuanya dapat diselesaikan dengan menekan tombol Tab .
Deskripsi panjang
Ekspansi tab dikontrol oleh fungsi internal TabExpansion2. Karena fungsi ini dapat dimodifikasi atau ditimpa, diskusi ini adalah panduan untuk perilaku konfigurasi PowerShell default.
Perilaku ekspansi tab juga dapat dimodifikasi oleh fitur Predictive IntelliSense dari modul PSReadLine. Untuk informasi selengkapnya, lihat IntelliSense Prediktif.
Tombol Tab adalah pengikatan kunci default pada Windows. Anda dapat mengubah keybinding menggunakan modul PSReadLine atau aplikasi yang menghosting PowerShell. Keybinding berbeda pada platform non-Windows. Untuk informasi selengkapnya, lihat about_PSReadLine.
Catatan
Salah satu batasan proses ekspansi tab adalah tab selalu ditafsirkan sebagai upaya untuk menyelesaikan kata. Jika Anda menyalin dan menempelkan contoh perintah ke konsol PowerShell, pastikan sampel tidak berisi tab. Jika ya, hasilnya tidak akan dapat diprediksi dan hampir pasti tidak akan menjadi apa yang Anda inginkan.
Penyelesaian nama file dan cmdlet
Untuk mengisi nama file atau jalur dari pilihan yang tersedia secara otomatis, ketik bagian dari nama dan tekan tombol Tab . PowerShell secara otomatis memperluas nama ke kecocokan pertama yang ditemukannya. Menekan tombol Tab berulang kali menelusuri semua pilihan yang tersedia.
Perluasan tab nama cmdlet sedikit berbeda. Untuk menggunakan ekspansi tab pada nama cmdlet, ketik seluruh bagian pertama nama (kata kerja) dan tanda hubung yang mengikutinya. Anda dapat mengisi lebih banyak nama untuk kecocokan parsial.
Misalnya, jika Anda mengetik get-co
lalu menekan tombol Tab , PowerShell secara otomatis memperluas ini ke Get-Command
cmdlet. Perhatikan bahwa itu juga mengubah huruf menjadi bentuk standarnya. Jika Anda menekan tombol Tab lagi, PowerShell mengganti ini dengan satu-satunya nama cmdlet lain yang cocok, Get-Content
.
Catatan
Pada PowerShell 7.0, Tab juga memperluas cmdlet dan fungsi yang disingkat. Misalnya, i-psdf<tab>
mengembalikan Import-PowerShellDataFile
.
Penyelesaian tab juga berfungsi untuk mengatasi alias PowerShell dan executable asli.
Anda dapat menggunakan ekspansi tab berulang kali pada baris yang sama. Misalnya, Anda dapat menggunakan ekspansi tab pada nama Get-Content
cmdlet dengan memasukkan:
Contoh
PS> Get-Con<Tab>
Saat Anda menekan tombol Tab , perintah akan diperluas ke:
PS> Get-Content
Anda kemudian dapat menentukan sebagian jalur ke file log Penyetelan Aktif dan menggunakan ekspansi tab lagi:
PS> Get-Content c:\windows\acts<Tab>
Saat Anda menekan tombol Tab , perintah akan diperluas ke:
PS> Get-Content C:\windows\actsetup.log
PSReadLine juga memiliki fitur penyelesaian menu. Pengikatan kunci default pada Windows adalah Ctrl+Space.
PS> fore<Ctrl-Space>
Saat Anda menekan Ctrl+Space, PowerShell menyajikan daftar lengkap nilai yang cocok sebagai menu:
PS> foreach
foreach ForEach-Object foreach.cmd
Dalam contoh ini string 'fore' dicocokkan dengan foreach
(alias PowerShell), ForEach-Object
(cmdlet), dan foreach.cmd
(perintah asli). Gunakan tombol panah untuk memilih nilai yang Anda inginkan.
Penyelesaian argumen parameter
Penyelesaian tab juga dapat berfungsi untuk menyelesaikan argumen parameter. Anda dapat menggunakan tombol Tab untuk menelusuri daftar nilai yang mungkin valid untuk beberapa parameter. Untuk informasi selengkapnya, lihat about_Functions_Argument_Completion.
Penyelesaian nilai enumerasi
PowerShell 7.0 menambahkan dukungan untuk penyelesaian tab enum. Anda dapat menggunakan penyelesaian tab untuk memilih nilai yang Anda inginkan di mana saja Anda menggunakan enum. Contohnya:
enum Suits {
Clubs = 0
Diamonds = 1
Hearts = 2
Spades = 3
}
[Suits]$suit = 'c<Tab>
Nilai enumerasi adalah string, sehingga nilai yang akan diselesaikan harus dimulai dengan karakter tanda kutip tunggal atau ganda.
Saat menekan tombol Tab , Anda mendapatkan hasil berikut:
[Suits]$suit = 'Clubs'
Penyelesaian tab juga berfungsi dengan enumerasi .NET.
[System.IO.FileAttributes]$attr = 'S<Tab><Tab>
Menekan tombol Tab dua kali menelusuri dua nilai yang dimulai dengan huruf S
. Hasil akhirnya adalah:
[System.IO.FileAttributes]$attr = 'System'
Dimulai di PowerShell 7.0, perluasan tab ditambahkan untuk nilai ValidateSet
saat menetapkan ke variabel. Misalnya, jika Anda mengetik definisi variabel berikut:
[ValidateSet('Chocolate', 'Strawberry', 'Vanilla')]
[string]$flavor = 'Strawberry'
$flavor = <tab>
Saat Menekan tombol Tab , Anda akan mendapatkan hasil berikut:
$flavor = 'Chocolate'
Penyelesaian tab untuk kata kunci berbasis komentar
Dimulai di PowerShell 7.2, dukungan ditambahkan untuk penyelesaian #requires
tab parameter dan kata kunci untuk bantuan berbasis komentar.
Contoh untuk #requires
pernyataan
#requires -<Ctrl-Space>
Ekspansi menu menunjukkan opsi parameter berikut:
#requires -<Ctrl-Space>
Modules PSEdition RunAsAdministrator Version
Contoh untuk bantuan berbasis komentar
<#
.<Ctrl-Space>
Ekspansi menu memperlihatkan opsi kata kunci berikut:
<#
.COMPONENT
COMPONENT EXTERNALHELP FUNCTIONALITY NOTES REMOTEHELPRUNSPACE
DESCRIPTION FORWARDHELPCATEGORY INPUTS OUTPUTS ROLE
EXAMPLE FORWARDHELPTARGETNAME LINK PARAMETER SYNOPSIS