Share via


PSReadLine'da tahmincileri kullanma

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. En son sürüm olan PSReadLine 2.2.6, varsayılan olarak tahminleri etkinleştirir.

Tahmine Dayalı IntelliSense kullanma

Tahmine Dayalı IntelliSense etkinleştirildiğinde, tahmin önerisi kullanıcının imlecinin ardından renkli metin olarak görünür. Tahmine Dayalı IntelliSense'in önerileri, yeni ve deneyimli PowerShell kullanıcılarının eşleşen tahminlere göre tam komutları bulmasına, düzenlemesine ve yürütmesine yardımcı olur. Öneriler kullanıcının geçmişinden ve ek etki alanına özgü eklentilerden gelebilir.

Tahminin satır içi görünümü

Önceki görüntülerde önerinin varsayılanı InlineView gösterilir. RightArrow tuşuna basmak satır içi öneriyi kabul eder. Öneriyi kabul ettikten sonra, komutu çalıştırmak için Enter tuşuna basmadan önce komut satırını düzenleyebilirsiniz.

PSReadLine ayrıca önerilerin bir ListView sunumunu da sunar.

Tahminlerin liste görünümü

Liste görünümündeyken, kullanılabilir önerilerde gezinmek için ok tuşlarını kullanabilirsiniz. Liste görünümü ayrıca tahminin kaynağını da gösterir.

PSReadLine varsayılan olarak olarak kullanılır InlineView. F2 tuşuna basarak ve ListView arasında InlineView geçiş yapabilirsiniz. Görünümünü değiştirmek için predictionviewstyle parametresini Set-PSReadLineOption de kullanabilirsiniz.

Tahmine Dayalı IntelliSense'i Yönetme

Tahmine Dayalı IntelliSense'i kullanmak için PSReadLine'ın daha yeni bir sürümü yüklü olmalıdır. En iyi sonuçlar için modülün en son sürümünü yükleyin.

PsReadLine'ı PowerShellGet kullanarak yüklemek için:

Install-Module -Name PSReadLine

Veya yeni PowerShellGet v3 modülünü kullanarak yükleyin:

Install-PSResource -Name PSReadLine

PSReadLine , Windows PowerShell 5.1 veya PowerShell 7 veya üzeri sürümlerde yüklenebilir. Predictor eklentilerini kullanmak için PowerShell 7.2 veya sonraki bir sürümde çalışıyor olmanız gerekir. Windows PowerShell 5.1, geçmiş tabanlı tahmin aracını kullanabilir.

PSReadLine 2.2.6'da Tahmine Dayalı IntelliSense, aşağıdaki koşullara bağlı olarak varsayılan olarak etkindir:

  • Sanal Terminal (VT) destekleniyorsa ve PowerShell 7.2 veya sonraki bir sürümde çalışan PSReadLine varsa, PredictionSource olarak ayarlanır HistoryAndPlugin
  • VT destekleniyorsa ve PowerShell'de 7.2'den eski psreadline çalışıyorsa PredictionSource olarak ayarlanırHistory
  • VT desteklenmiyorsa PredictionSource olarak Noneayarlanır.

Geçerli ayarı görmek için aşağıdaki komutu kullanın:

Get-PSReadLineOption | Select-Object -Property PredictionSource

PredictionSource parametresiyle cmdlet'ini Set-PSReadLineOptionkullanarak tahmin kaynağını değiştirebilirsiniz. PredictionSource şu şekilde ayarlanabilir:

  • None
  • History
  • Plugin
  • HistoryAndPlugin

Not

Geçmiş tabanlı tahminler, PSReadLine tarafından tutulan geçmişe dayanır. Bu geçmiş, kullanarak Get-Historygörebileceğiniz oturum tabanlı geçmişe göre daha kapsamlıdır. Daha fazla bilgi için about_PSReadLine Komut geçmişi bölümüne bakın.

Tahmin rengini ayarlama

Varsayılan olarak, tahminler kullanıcının yazmakta olduğu satırda açık gri metin olarak görünür. Erişilebilirlik gereksinimlerini desteklemek için tahmin rengini özelleştirebilirsiniz. Renkler ANSI kaçış dizileri kullanılarak tanımlanır. ANSI kaçış dizileri oluşturmak için kullanabilirsiniz $PSStyle .

Set-PSReadLineOption -Colors @{ InlinePrediction = $PSStyle.Background.Blue }

İsterseniz kendiniz de oluşturabilirsiniz. Varsayılan açık gri tahmin metin rengi aşağıdaki ANSI kaçış dizisi kullanılarak geri yüklenebilir.

Set-PSReadLineOption -Colors @{ InlinePrediction = "`e[38;5;238m" }

Tahmin rengini ve diğer PSReadLine ayarlarını ayarlama hakkında daha fazla bilgi için bkz . Set-PSReadLineOption.

Anahtar bağlamaları değiştirme

PSReadLine, tahminlere gitmek ve tahminleri kabul etmek için işlevler içerir. Örneğin:

  • AcceptSuggestion - Geçerli satır içi öneriyi kabul etme
  • AcceptNextSuggestionWord - Satır içi önerinin bir sonraki sözcüğünü kabul edin
  • AcceptSuggestion, varsayılan olarak RightArrow'a bağlı olan içinde ForwardCharoluşturulur
  • AcceptNextSuggestionWord, Ctrl+f'ye bağlanabilen işlevi ForwardWordiçinde oluşturulur

Anahtar bağlamalarını Set-PSReadLineKeyHandler değiştirmek için cmdlet'ini kullanabilirsiniz.

Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord

Bu bağlamada, Ctrl+f tuşuna basıldığında, imleç geçerli düzenleme satırının sonundayken satır içi önerinin bir sonraki sözcüğü kabul edilir. Benzer işlevler için ve'ye AcceptSuggestionAcceptNextSuggestionWord diğer anahtarları bağlayabilirsiniz. Örneğin, RightArrow'un öneri satırının tamamı yerine satır içi önerinin bir sonraki sözcüğünü kabul etmelerini isteyebilirsiniz.

Set-PSReadLineKeyHandler -Chord "RightArrow" -Function ForwardWord

Diğer tahmin aracı eklentilerini kullanma

Az.Tools.Predictor modülü, Tahmine Dayalı IntelliSense'in ilk eklentisidir. 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 ve yükleme yönergeleri için bkz . Az.Tools.Predictor'ın Genel Kullanılabilirliğini Duyurma.

CompletionPredictor modülü, PowerShell'de sekmeyle tamamlanabilir her şey için bir IntelliSense deneyimi ekler. PSReadLine olarak InlineViewayarlandığında, normal sekme tamamlama deneyimini elde edersiniz. öğesine ListViewgeçiş yaptığınızda IntelliSense deneyimini elde edersiniz. CompletionPredictor modülünü PowerShell Galerisi yükleyebilirsiniz.

CompletionPredictor kullanarak PowerShell IntelliSense

Daha önce belirtildiği gibi, ListView tahminin kaynağını gösterir. Yüklü birden çok eklentiniz varsa, tahminler kaynağa göre gruplandırılır ve geçmiş ilk sırada listelenir ve ardından her eklenti yüklendikleri sırayla listelenir.

Kendi tahmin modülünüzü oluşturma

Derlenmiş bir PowerShell modülü oluşturmak için C# kullanarak kendi tahmin aracınızı yazabilirsiniz. Modülün System.Management.Automation.Subsystem.Prediction.ICommandPredictor arabirimini uygulaması gerekir. Bu arabirim, tahmin sonuçlarını sorgulamak ve geri bildirim sağlamak için kullanılan yöntemleri bildirir.

Daha fazla bilgi için bkz . Komut satırı tahmincisi oluşturma.