Bagikan melalui


Mengonfigurasi tema berwarna terang

Warna default untuk PowerShell dan PSReadLine dipilih untuk terminal latar belakang gelap. Namun, beberapa pengguna mungkin memilih untuk menggunakan latar belakang terang dengan teks gelap. Karena sebagian besar warna default tidak mengatur latar belakang, menggunakan warna latar depan terang pada latar belakang terang menghasilkan teks yang tidak dapat dibaca.

Dimulai di PowerShell 7.2, PowerShell menambahkan output berwarna ke pengalaman konsol default. Fitur $PSStyle ini tidak tersedia secara asli di Windows PowerShell. Namun, menggunakan modul PSStyle dari Galeri PowerShell, Anda dapat mengatur nilai warna menggunakan teknik yang sama ini yang dijelaskan dalam artikel ini.

Warna yang digunakan didefinisikan dalam $PSStyle variabel dan dirancang untuk latar belakang gelap. Anda dapat mengubah warna-warna ini agar berfungsi lebih baik untuk terminal latar belakang yang ringan.

PSReadLine memungkinkan Anda menentukan warna untuk 18 elemen sintaks yang berbeda. Anda dapat melihat pengaturan saat ini menggunakan Get-PSReadLineOption cmdlet.

EditMode                               : Windows
AddToHistoryHandler                    : System.Func`2[System.String,System.Object]
HistoryNoDuplicates                    : True
HistorySavePath                        : C:\Users\user1\AppData\Roaming\Microsoft\Wind...
HistorySaveStyle                       : SaveIncrementally
HistorySearchCaseSensitive             : False
HistorySearchCursorMovesToEnd          : False
MaximumHistoryCount                    : 4096
ContinuationPrompt                     : >>
ExtraPromptLineCount                   : 0
PromptText                             : {> }
BellStyle                              : Audible
DingDuration                           : 50
DingTone                               : 1221
CommandsToValidateScriptBlockArguments : {ForEach-Object, %, Invoke-Command, icm...}
CommandValidationHandler               :
CompletionQueryItems                   : 100
MaximumKillRingCount                   : 10
ShowToolTips                           : True
ViModeIndicator                        : None
WordDelimiters                         : ;:,.[]{}()/\|^&*-=+'"-—―
AnsiEscapeTimeout                      : 100
PredictionSource                       : HistoryAndPlugin
PredictionViewStyle                    : InlineView
CommandColor                           : "`e[93m"
CommentColor                           : "`e[32m"
ContinuationPromptColor                : "`e[37m"
DefaultTokenColor                      : "`e[37m"
EmphasisColor                          : "`e[96m"
ErrorColor                             : "`e[91m"
InlinePredictionColor                  : "`e[38;5;238m"
KeywordColor                           : "`e[92m"
ListPredictionColor                    : "`e[33m"
ListPredictionSelectedColor            : "`e[48;5;238m"
MemberColor                            : "`e[97m"
NumberColor                            : "`e[97m"
OperatorColor                          : "`e[90m"
ParameterColor                         : "`e[90m"
SelectionColor                         : "`e[30;47m"
StringColor                            : "`e[36m"
TypeColor                              : "`e[37m"
VariableColor                          : "`e[92m"

Pengaturan warna disimpan sebagai string yang berisi urutan escape ANSI yang mengubah warna di terminal Anda. Dengan menggunakan cmdlet Set-PSReadLineOption, Anda dapat mengubah warna menjadi nilai yang lebih cocok untuk latar belakang berwarna terang.

Menentukan warna untuk tema cahaya

PowerShell ISE dapat dikonfigurasi untuk menggunakan tema ringan untuk panel editor dan konsol. Anda juga dapat melihat dan mengubah warna yang digunakan ISE untuk berbagai jenis sintaksis dan output. Anda dapat menggunakan pilihan warna ini untuk menentukan tema serupa untuk PSReadLine.

Hashtable berikut mendefinisikan warna untuk PSReadLine yang meniru warna di PowerShell ISE.

$ISETheme = @{
    Command                  = $PSStyle.Foreground.FromRGB(0x0000FF)
    Comment                  = $PSStyle.Foreground.FromRGB(0x006400)
    ContinuationPrompt       = $PSStyle.Foreground.FromRGB(0x0000FF)
    Default                  = $PSStyle.Foreground.FromRGB(0x0000FF)
    Emphasis                 = $PSStyle.Foreground.FromRGB(0x287BF0)
    Error                    = $PSStyle.Foreground.FromRGB(0xE50000)
    InlinePrediction         = $PSStyle.Foreground.FromRGB(0x93A1A1)
    Keyword                  = $PSStyle.Foreground.FromRGB(0x00008b)
    ListPrediction           = $PSStyle.Foreground.FromRGB(0x06DE00)
    Member                   = $PSStyle.Foreground.FromRGB(0x000000)
    Number                   = $PSStyle.Foreground.FromRGB(0x800080)
    Operator                 = $PSStyle.Foreground.FromRGB(0x757575)
    Parameter                = $PSStyle.Foreground.FromRGB(0x000080)
    String                   = $PSStyle.Foreground.FromRGB(0x8b0000)
    Type                     = $PSStyle.Foreground.FromRGB(0x008080)
    Variable                 = $PSStyle.Foreground.FromRGB(0xff4500)
    ListPredictionSelected   = $PSStyle.Background.FromRGB(0x93A1A1)
    Selection                = $PSStyle.Background.FromRGB(0x00BFFF)
}

Nota

Anda dapat menggunakan FromRGB() metode untuk membuat urutan escape ANSI untuk warna yang Anda inginkan. Untuk informasi selengkapnya tentang $PSStyle, lihat about_ANSI_Terminals. Untuk informasi selengkapnya tentang urutan escape ANSI, lihat artikel kode escape ANSI di Wikipedia.

Mengatur tema warna di profil Anda

Untuk memiliki pengaturan warna yang Anda inginkan di setiap sesi PowerShell, Anda harus menambahkan pengaturan konfigurasi ke skrip profil PowerShell Anda. Misalnya, lihat Menyesuaikan lingkungan shell Anda

$ISETheme Tambahkan variabel dan perintah berikut Set-PSReadLineOption ke profil Anda.

Set-PSReadLineOption -Colors $ISETheme

Pengaturan berikut bekerja lebih baik untuk terminal latar belakang yang ringan.

$PSStyle.Formatting.FormatAccent       = $PSStyle.Foreground.Green
$PSStyle.Formatting.TableHeader        = $PSStyle.Foreground.Green
$PSStyle.Formatting.ErrorAccent        = $PSStyle.Foreground.Cyan
$PSStyle.Formatting.Error              = $PSStyle.Foreground.Red
$PSStyle.Formatting.Warning            = $PSStyle.Foreground.Yellow
$PSStyle.Formatting.Verbose            = $PSStyle.Foreground.Yellow
$PSStyle.Formatting.Debug              = $PSStyle.Foreground.Yellow
$PSStyle.Progress.Style                = $PSStyle.Foreground.Yellow
$PSStyle.FileInfo.Directory            = $PSStyle.Background.FromRgb(0x2f6aff) +
                                         $PSStyle.Foreground.BrightWhite
$PSStyle.FileInfo.SymbolicLink         = $PSStyle.Foreground.Cyan
$PSStyle.FileInfo.Executable           = $PSStyle.Foreground.BrightMagenta
$PSStyle.FileInfo.Extension['.ps1']    = $PSStyle.Foreground.Cyan
$PSStyle.FileInfo.Extension['.ps1xml'] = $PSStyle.Foreground.Cyan
$PSStyle.FileInfo.Extension['.psd1']   = $PSStyle.Foreground.Cyan
$PSStyle.FileInfo.Extension['.psm1']   = $PSStyle.Foreground.Cyan

Memilih warna untuk aksesibilitas

Tema warna ISE mungkin tidak berfungsi untuk pengguna dengan buta warna atau kondisi lain yang membatasi kemampuan mereka untuk melihat warna.

World Wide Web Consortium (W3C) memiliki rekomendasi untuk menggunakan warna untuk aksesibilitas. Panduan Aksesibilitas Konten Web (WCAG) 2.1 merekomendasikan bahwa "presentasi visual teks dan gambar teks memiliki rasio kontras setidaknya 4,5:1." Untuk informasi selengkapnya, lihat Kriteria Keberhasilan 1.4.3 Kontras (Minimum).

Situs web Rasio Kontras menyediakan alat yang memungkinkan Anda memilih warna latar depan dan latar belakang dan mengukur kontras. Anda dapat menggunakan alat ini untuk menemukan kombinasi warna yang paling sesuai untuk Anda.