Menggunakan prediktor di PSReadLine
PSReadLine 2.1.0 memperkenalkan fitur Predictive IntelliSense . Predictive IntelliSense memberikan saran untuk perintah lengkap berdasarkan item dari riwayat PSReadLine Anda. PSReadLine 2.2.2 memperluas kekuatan Predictive IntelliSense dengan menambahkan dukungan untuk modul plug-in yang menggunakan logika tingkat lanjut untuk memberikan saran untuk perintah lengkap. Versi terbaru, PSReadLine 2.2.6, memungkinkan prediksi secara default.
Menggunakan IntelliSense Prediktif
Saat Predictive IntelliSense diaktifkan, saran prediksi muncul sebagai teks berwarna mengikuti kursor pengguna. Saran dari Predictive IntelliSense membantu pengguna powerShell baru dan berpengalaman menemukan, mengedit, dan menjalankan perintah penuh berdasarkan prediksi yang cocok. Saran dapat berasal dari riwayat pengguna dan plugin khusus domain tambahan.
Gambar sebelumnya menunjukkan default InlineView
saran. Menekan tombol RightArrow menerima saran sebaris. Setelah menerima saran, Anda dapat mengedit baris perintah sebelum menekan Enter untuk menjalankan perintah.
PSReadLine juga menawarkan ListView
presentasi saran.
Saat dalam tampilan daftar, Anda bisa menggunakan tombol panah untuk menggulir saran yang tersedia. Tampilan daftar juga memperlihatkan sumber prediksi.
PSReadLine default ke InlineView
. Anda dapat beralih antara InlineView
dan ListView
dengan menekan tombol F2 . Anda juga dapat menggunakan parameter PredictionViewStyle untuk Set-PSReadLineOption
mengubah tampilan.
Mengelola IntelliSense Prediktif
Untuk menggunakan Predictive IntelliSense, Anda harus menginstal versi PSReadLine yang lebih baru. Untuk hasil terbaik, instal versi terbaru modul.
Untuk menginstal PSReadLine menggunakan PowerShellGet:
Install-Module -Name PSReadLine
Atau instal menggunakan modul PowerShellGet v3 baru:
Install-PSResource -Name PSReadLine
PSReadLine dapat diinstal di Windows PowerShell 5.1 atau di PowerShell 7 atau yang lebih tinggi. Untuk menggunakan plug-in prediktor, Anda harus berjalan di PowerShell 7.2 atau yang lebih tinggi. Windows PowerShell 5.1 dapat menggunakan prediktor berbasis riwayat.
Di PSReadLine 2.2.6, Predictive IntelliSense diaktifkan secara default tergantung pada kondisi berikut:
- Jika Terminal Virtual (VT) didukung dan PSReadLine berjalan di PowerShell 7.2 atau yang lebih tinggi, PredictionSource diatur ke
HistoryAndPlugin
- Jika VT didukung dan PSReadLine yang berjalan di PowerShell yang lebih lama dari 7.2, PredictionSource diatur ke
History
- Jika VT tidak didukung, PredictionSource diatur ke
None
.
Gunakan perintah berikut untuk melihat pengaturan saat ini:
Get-PSReadLineOption | Select-Object -Property PredictionSource
Anda dapat mengubah sumber prediksi menggunakan Set-PSReadLineOption
cmdlet dengan parameter PredictionSource . PredictionSource dapat diatur ke:
None
History
Plugin
HistoryAndPlugin
Catatan
Prediksi berbasis riwayat berasal dari riwayat yang dikelola oleh PSReadLine. Riwayat tersebut lebih komprehensif daripada riwayat berbasis sesi yang dapat Anda lihat menggunakan Get-History
. Untuk informasi selengkapnya, lihat Bagian riwayat perintah about_PSReadLine.
Mengatur warna prediksi
Secara default, prediksi muncul dalam teks abu-abu terang pada baris yang sama yang dititik pengguna. Untuk mendukung kebutuhan aksesibilitas, Anda dapat menyesuaikan warna prediksi. Warna didefinisikan menggunakan urutan escape ANSI. Anda dapat menggunakan $PSStyle
untuk menyusun urutan escape ANSI.
Set-PSReadLineOption -Colors @{ InlinePrediction = $PSStyle.Background.Blue }
Atau Anda dapat membuat sendiri. Warna teks prediksi abu-abu muda default dapat dipulihkan menggunakan urutan escape ANSI berikut.
Set-PSReadLineOption -Colors @{ InlinePrediction = "`e[38;5;238m" }
Untuk informasi selengkapnya tentang mengatur warna prediksi dan pengaturan PSReadLine lainnya, lihat Set-PSReadLineOption.
Mengubah keybinding
PSReadLine berisi fungsi untuk menavigasi dan menerima prediksi. Contohnya:
AcceptSuggestion
- Terima saran sebaris saat iniAcceptNextSuggestionWord
- Terima kata berikutnya dari saran sebarisAcceptSuggestion
dibangun dalamForwardChar
, yang terikat ke RightArrow secara defaultAcceptNextSuggestionWord
dibangun dalam fungsiForwardWord
, yang dapat terikat ke Ctrl+f
Anda dapat menggunakan Set-PSReadLineKeyHandler
cmdlet untuk mengubah pengikatan kunci.
Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord
Dengan pengikatan ini, menekan Ctrl+f menerima kata berikutnya dari saran sebaris ketika kursor berada di akhir baris pengeditan saat ini. Anda dapat mengikat kunci lain ke AcceptSuggestion
dan AcceptNextSuggestionWord
untuk fungsionalitas serupa. Misalnya, Anda mungkin ingin membuat RightArrow menerima kata berikutnya dari saran sebaris, alih-alih seluruh baris saran.
Set-PSReadLineKeyHandler -Chord "RightArrow" -Function ForwardWord
Menggunakan plug-in prediktor lainnya
Modul Az.Tools.Predictor adalah plug-in pertama untuk Predictive IntelliSense. Ini menggunakan Pembelajaran Mesin untuk memprediksi perintah Azure PowerShell apa yang ingin Anda jalankan dan parameter yang ingin Anda gunakan. Untuk informasi selengkapnya dan instruksi penginstalan, lihat Mengumumkan Ketersediaan Umum Az.Tools.Predictor.
Modul CompletionPredictor menambahkan pengalaman IntelliSense untuk apa pun yang dapat diselesaikan tab di PowerShell. Dengan PSReadLine diatur ke InlineView
, Anda mendapatkan pengalaman penyelesaian tab normal. Ketika Anda beralih ke ListView
, Anda mendapatkan pengalaman IntelliSense. Anda dapat menginstal modul CompletionPredictor dari Galeri PowerShell.
Seperti yang disebutkan sebelumnya, ListView
menunjukkan kepada Anda sumber prediksi. Jika Anda memiliki beberapa plug-in yang diinstal, prediksi dikelompokkan menurut sumber dengan Riwayat yang tercantum terlebih dahulu diikuti oleh setiap plug-in dalam urutan pemuatannya.
Membuat modul prediktor Anda sendiri
Anda dapat menulis prediktor Anda sendiri menggunakan C# untuk membuat modul PowerShell yang dikompilasi. Modul harus mengimplementasikan antarmuka System.Management.Automation.Subsystem.Prediction.ICommandPredictor . Antarmuka ini mendeklarasikan metode yang digunakan untuk mengkueri hasil prediksi dan memberikan umpan balik.
Untuk informasi selengkapnya, lihat Cara membuat prediktor baris perintah.