about_Tab_Expansion

Kısa açıklama

PowerShell ipuçları sağlamak, bulmayı etkinleştirmek ve giriş girişini hızlandırmak için girişte tamamlamalar sağlar. Komut adları, parametre adları, bağımsız değişken değerleri ve dosya yolları Sekme tuşuna basılarak tamamlanabilir.

Uzun açıklama

Sekme genişletme, TabExpansion2 iç işlevi tarafından denetlenmektedir. Bu işlev değiştirilebileceği veya geçersiz kılınabileceği için, bu tartışma varsayılan PowerShell yapılandırmasının davranışına ilişkin bir kılavuzdur.

Sekme genişletme davranışı, PSReadLine modülünün Tahmine Dayalı IntelliSense özelliğiyle de değiştirilebilir. Daha fazla bilgi için bkz . Tahmine dayalı IntelliSense.

Sekme tuşu, Windows'ta varsayılan anahtar bağlamadır. PSReadLine modülünü veya PowerShell'i barındıran uygulamayı kullanarak anahtar bağlamayı değiştirebilirsiniz. Anahtar bağlama, Windows dışı platformlarda farklıdır. Daha fazla bilgi için bkz . about_PSReadLine.

Not

Sekme genişletme işleminin bir sınırlaması, sekmelerin her zaman bir sözcüğü tamamlama girişimleri olarak yorumlanmış olmasıdır. Komut örneklerini kopyalayıp powershell konsoluna yapıştırırsanız, örneğin sekme içermediğinden emin olun. Bu durumda, sonuçlar tahmin edilemez ve neredeyse kesinlikle istediğiniz gibi olmayacaktır.

Dosya ve cmdlet adı tamamlama

Kullanılabilir seçeneklerden bir dosya adını veya yolu otomatik olarak doldurmak için, adın bir bölümünü yazın ve Sekme tuşuna basın. PowerShell, adı otomatik olarak bulduğu ilk eşleşmeye genişletir. Sekme tuşuna art arda basmak tüm kullanılabilir seçenekler arasında geçiş yapar.

Cmdlet adlarının sekme genişletmesi biraz farklıdır. Bir cmdlet adında sekme genişletmeyi kullanmak için, adın ilk kısmının tamamını (fiil) ve ardından gelen kısa çizgiyi yazın. Kısmi eşleşme için adın daha fazlasını doldurabilirsiniz. Örneğin, yazıp get-co Sekme tuşuna basarsanız PowerShell bunu otomatik olarak cmdlet'ine Get-Command genişletir. Harflerin büyük/küçük harflerini de standart biçimlerinde değiştirdiğini fark edin. Sekme tuşuna yeniden basarsanız, PowerShell bunu eşleşen tek cmdlet adıyla değiştirir. Get-Content

Not

PowerShell 7.0'dan itibaren Sekme, kısaltılmış cmdlet'leri ve işlevleri de genişletir. Örneğin, i-psdf<tab> döndürür Import-PowerShellDataFile.

Sekme tamamlama, PowerShell diğer adlarını ve yerel yürütülebilir dosyaları çözümlemek için de çalışır.

Sekme genişletmeyi aynı satırda art arda kullanabilirsiniz. Örneğin, şunu girerek cmdlet'in Get-Content adında sekme genişletmeyi kullanabilirsiniz:

Örnekler

PS> Get-Con<Tab>

Sekme tuşuna bastığınızda, komut şu şekilde genişletir:

PS> Get-Content

Ardından, Etkin Kurulum günlük dosyasının yolunu kısmen belirtebilir ve sekme genişletmeyi yeniden kullanabilirsiniz:

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

Sekme tuşuna bastığınızda, komut şu şekilde genişletir:

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

PSReadLine'ın menü tamamlama özelliği de vardır. Windows'ta varsayılan anahtar bağlaması Ctrl+Space'tir.

PS> fore<Ctrl-Space>

Ctrl Ara Çubuğu'na+ bastığınızda, PowerShell eşleşen değerlerin tam listesini menü olarak sunar:

PS> foreach
foreach         ForEach-Object  foreach.cmd

Bu örnekte 'fore' dizesi (PowerShell diğer adı), ForEach-Object (cmdlet) ve foreach.cmd (yerel komut) ile eşleştirilir foreach . İstediğiniz değeri seçmek için ok tuşlarını kullanın.

Parametre bağımsız değişkeni tamamlama

Sekme tamamlama, parametre bağımsız değişkenlerini tamamlamak için de çalışabilir. Bazı parametreler için geçerli olan olası değerlerin listesi arasında geçiş yapmak için Sekme tuşunu kullanabilirsiniz. Daha fazla bilgi için bkz . about_Functions_Argument_Completion.

Numaralandırılmış değer tamamlama

PowerShell 7.0, sabit listelerin sekmeyle tamamlanması için destek eklendi. Sabit listesi kullanmak istediğiniz her yerde istediğiniz değeri seçmek için sekme tamamlama özelliğini kullanabilirsiniz. Örneğin:

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

[Suits]$suit = 'c<Tab>

Numaralandırılmış değerler dizelerdir, bu nedenle tamamlanacak değer tek veya çift tırnak karakteriyle başlamalıdır.

Sekme tuşuna bastığınızda aşağıdaki sonuçları alırsınız:

[Suits]$suit = 'Clubs'

Sekme tamamlama , .NET sabit listeleri ile de çalışır.

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

Sekme tuşuna iki kez basmak, harfiyle Sbaşlayan iki değer arasında döngü oluşturur. Sonuç şudur:

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

PowerShell 7.0'da başlayarak, bir değişkene atanırken değerleri ValidateSet için sekme genişletmesi eklendi. Örneğin, aşağıdaki değişken tanımını yazıyorsanız:

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

Sekme tuşuna bastığınızda aşağıdaki sonucu elde edersiniz:

$flavor = 'Chocolate'

Açıklama tabanlı anahtar sözcükler için sekme tamamlamaları

PowerShell 7.2'de başlayarak, parametrelerin #requires sekmeyle tamamlanması ve açıklama tabanlı yardım için anahtar sözcükler için destek eklendi.

Deyim örneği #requires

#requires -<Ctrl-Space>

Menü genişletme aşağıdaki parametre seçeneklerini gösterir:

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

Açıklama tabanlı yardım örneği

<#
    .<Ctrl-Space>

Menü genişletme aşağıdaki anahtar sözcük seçeneklerini gösterir:

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

Ayrıca bkz.