Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
PowerShell, ipuçları sağlamak, keşfetmeyi etkinleştirmek ve giriş hızını artırmak için tamamlamalar sağlar. Komut adları, parametre adları, bağımsız değişken değerleri ve dosya yollarının tümü Sekme tuşuna basılarak tamamlanabilir.
Tab tuşu, Windows'ta varsayılan tuş bağlamasıdır.
PSReadLine, Ctrl+Spaceile ilişkili bir MenuComplete
işlevi de sağlar.
MenuComplete
işlevi, komut satırının altında eşleşen tamamlamaların listesini görüntüler.
Bu tuş bağlamaları PSReadLine cmdlet'leri veya PowerShell'i barındıran uygulama kullanılarak değiştirilebilir. Tuş bağlamaları Windows dışı platformlarda farklı olabilir. Daha fazla bilgi için bkz. about_PSReadLine_Functions.
Yerleşik sekme tamamlama özellikleri
PowerShell, komut satırı deneyiminin birçok yönü için sekme tamamlama özelliğini etkinleştirmiştir.
Dosya 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. Sekmesi tuşuna tekrar basıldığında, her basışta tüm kullanılabilir seçenekler arasında döngü yapar.
Komut ve parametre adı tamamlama
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 isim kısmını daha fazla doldurabilirsiniz. Örneğin, get-co
yazıp Sekme tuşuna basarsanız, PowerShell bunu otomatik olarak Get-Command
cmdlet'e genişletir (harfleri de standart formlarına değiştirdiğini unutmayın).
Sekme tuşuna yeniden basarsanız, PowerShell bunu Get-Content
eşleşen tek diğer cmdlet adıyla değiştirir. Sekme tamamlama, PowerShell diğer adlarını ve yerel yürütülebilir dosyaları çözümlemek için de çalışır.
Aşağıdaki grafikte sekme ve menü tamamlama örnekleri gösterilmektedir.
Diğer sekme tamamlama geliştirmeleri
PowerShell'in her yeni sürümü, hataları düzelten ve kullanılabilirliği geliştiren sekme tamamlama iyileştirmeleri içerir.
PowerShell 7.0
- Sekme tamamlama, enum veya türü kısıtlanmış değişken atamalarını tamamlar
- Sekme tamamlama, kısaltılmış cmdlet'leri ve işlevleri genişletir. Örneğin,
i-psdf<tab>
Import-PowerShellDataFile
döndürür
PowerShell 7.2
- Yerelleştirilmemiş
about*
konu başlıkları için sekme tamamlamayı düzeltme - Tamamlamalarda konumsal parametre olarak ele alınan sıçrama düzeltildi
- Açıklama tabanlı Yardım anahtar sözcükleri için tamamlamalar ekleme
-
#Requires
deyimleri için tamamlama ekleyin -
Format-*
cmdlet'lerinin Görünüm parametresi için sekme tamamlama ekleyin - Sınıf tabanlı bağımsız değişken tamlayıcıları için destek ekleme
PowerShell 7.3
-
ValidateScriptAttribute
için belirtilen betik bloğu içinde sekme tamamlamayı düzelt. -
break
vecontinue
'den sonra döngü etiketleri için sekme tamamlaması eklendi - Birden çok senaryoda Hashtable tamamlama işlevini geliştirme
- Parametre sıçraması
-
Bağımsız değişkenler parametresi için
Invoke-CimMethod
-
FilterHashtable parametresi için
Get-WinEvent
- CIM cmdlet'leri için özellik parametresi
- Üye tamamlama senaryolarından yinelenenleri kaldırır
- Ağ paylaşımı (UNC yolu) tamamlamada eğik çizgileri destekleme
- Üye otomatik tamamlamasını geliştir
- Parametreler için sabitler yerine
ValidateSet
tamamlamalarına öncelik verin. - Tür parametreleriyle genel yöntemler için tür çıkarımı desteği ekleme
- Tür çıkarımı ve tamamlamalarını geliştirme
-
ForEach-Object -MemberName
için yöntemlerin tamamlama sonuçlarında gösterilmesine izin verir. - (
[void]("")
) gibi void döndüren ifadelerin tamamlanmasını engeller - Sınıf tamamlama AST'ye dayandığında, varsayılan olmayan sınıf oluşturucularının görünmesine izin verir.
-
Komut parametrelerinin sekme tamamlamasını geliştirmenin diğer yolları
Yerleşik sekme genişletme, TabExpansion veya TabExpansion2iç işlev tarafından denetlenmektedir. Bu işlevlerin varsayılan davranışının yerini alan işlevler veya modüller oluşturmak mümkündür. TabExpansion anahtar sözcüğünü arayarak PowerShell Galerisi'nde örnekler bulabilirsiniz.
parametrelerle ValidateSet
veya ArgumentCompletions
özniteliklerini kullanma
ArgumentCompletions
özniteliği, belirli bir parametreye sekme tamamlama değerleri eklemenize olanak tanır.
ArgumentCompletions
özniteliği ValidateSet
benzer. Her iki öznitelik de, kullanıcı parametre adından sonra Tab tuşuna bastığında sunulacak değerler listesini alır. Ancak, ValidateSet
aksine değerler doğrulanmaz.
Daha fazla bilgi için bkz:
parametrelerle ArgumentCompleter
özniteliğini veya Register-ArgumentCompleter
kullanma
Bağımsız değişken tamamlayıcı, parametre değerleri için dinamik sekme tamamlama sağlayan bir betik bloğu veya işlevidir.
ArgumentCompleter
özniteliği, parametresi için sekme tamamlama değerleri sağlayan bir işlev kaydetmenizi sağlar. Argüman tamamlama işlevi, ArgumentCompleter
özniteliğine sahip parametreyi içeren işlevin erişimine açık olmalıdır. İşlev genellikle aynı betikte veya modülde tanımlanır.
Daha fazla bilgi için bkz: ArgumentCompleter .
Register-ArgumentCompleter
cmdlet'i, belirttiğiniz herhangi bir komut için çalışma zamanı sırasında bir betik bloğunu bağımsız değişken tamamlama işlevi olarak kaydeder. Bu, betiğin veya modülün dışında veya yerel komutlar için bağımsız değişken tamamlayıcıları tanımlamanızı sağlar. Daha fazla bilgi için bkz. Register-ArgumentCompleter.
PSReadLine'da Tahmine Dayalı İntelliSense
PSReadLine 2.1.0, Tahmine Dayalı IntelliSense özelliğini kullanıma sunar. Tahmine dayalı IntelliSense, PSReadLine geçmişinizdeki öğeleri temel alan tam komutlar için öneriler sağlar.
PSReadLine 2.2.2, tam komut önerileri sağlamak üzere gelişmiş mantık kullanan eklenti modülleri için destek ekleyerek Tahmine Dayalı IntelliSense'in gücünü genişletir. Az.Tools.Predictor modülü, Tahmine Dayalı IntelliSense'in ilk eklentisiydi. Hangi Azure PowerShell komutunu çalıştırmak istediğinizi ve kullanmak istediğiniz parametreleri tahmin etmek için Machine Learning'i kullanır.
Daha fazla bilgi için bkz. Tahminleri kullanma.
PowerShell