Sdílet prostřednictvím


Konfigurace světlého barevného motivu

Pro terminál tmavého pozadí jsou vybrány výchozí barvy PowerShellu i PSReadLine . Někteří uživatelé se ale můžou rozhodnout použít světlé pozadí s tmavým textem. Vzhledem k tomu, že většina výchozích barev nenastavuje pozadí, použití světlých barev popředí na světlém pozadí vytváří nečitelný text.

PSReadLine umožňuje definovat barvy pro 18 různých elementů syntaxe. Aktuální nastavení můžete zobrazit pomocí rutiny Get-PSReadLineOption .

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"

Nastavení barev se uloží jako řetězce obsahující řídicí sekvence ANSI, které mění barvu v terminálu. Set-PSReadLineOption Pomocí rutiny můžete změnit barvy na hodnoty, které fungují lépe pro světlé pozadí.

Definování barev pro světlý motiv

Prostředí PowerShell ISE je možné nakonfigurovat tak, aby používalo světlý motiv pro podokna editoru i konzoly. Můžete také zobrazit a změnit barvy, které isE používá pro různé typy syntaxe a výstupu. Tyto volby barev můžete použít k definování podobného motivu pro PSReadLine.

Následující hashtable definuje barvy pro PSReadLine , které napodobují barvy v prostředí 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)
}

Poznámka:

V PowerShellu 7.2 a novějším můžete použít FromRGB() metodu $PSStyle vytvoření řídicích sekvencí ANSI pro požadované barvy.

Další informace najdete v $PSStyletématu about_ANSI_Terminals.

Další informace o řídicích sekvencích ANSI najdete v článku řídicího kódu ANSI na Wikipedii.

Nastavení barevného motivu v profilu

Pokud chcete mít nastavení barev, které chcete mít v každé relaci PowerShellu, musíte do skriptu profilu PowerShellu přidat nastavení konfigurace. Příklad najdete v tématu Přizpůsobení prostředí.

Přidejte do svého profilu proměnnou $ISETheme a následující Set-PSReadLineOption příkaz.

Set-PSReadLineOption -Colors $ISETheme

Počínaje PowerShellem 7.2 přidá PowerShell barevný výstup do výchozího prostředí konzoly. Použité barvy jsou definovány v $PSStyle proměnné a jsou navrženy pro tmavé pozadí. Následující nastavení fungují lépe pro světlý terminál na pozadí.

$PSStyle.Formatting.FormatAccent       = "`e[32m"
$PSStyle.Formatting.TableHeader        = "`e[32m"
$PSStyle.Formatting.ErrorAccent        = "`e[36m"
$PSStyle.Formatting.Error              = "`e[31m"
$PSStyle.Formatting.Warning            = "`e[33m"
$PSStyle.Formatting.Verbose            = "`e[33m"
$PSStyle.Formatting.Debug              = "`e[33m"
$PSStyle.Progress.Style                = "`e[33m"
$PSStyle.FileInfo.Directory            = $PSStyle.Background.FromRgb(0x2f6aff) +
                                         $PSStyle.Foreground.BrightWhite
$PSStyle.FileInfo.SymbolicLink         = "`e[36m"
$PSStyle.FileInfo.Executable           = "`e[95m"
$PSStyle.FileInfo.Extension['.ps1']    = "`e[36m"
$PSStyle.FileInfo.Extension['.ps1xml'] = "`e[36m"
$PSStyle.FileInfo.Extension['.psd1']   = "`e[36m"
$PSStyle.FileInfo.Extension['.psm1']   = "`e[36m"

Volba barev pro usnadnění přístupu

Barevný motiv ISE nemusí fungovat pro uživatele s barvoslepostí nebo jinými podmínkami, které omezují jejich schopnost zobrazit barvy.

Konsorcium W3C (World Wide Web Consortium) obsahuje doporučení pro použití barev pro usnadnění přístupu. Pokyny pro přístupnost webového obsahu (WCAG) 2.1 doporučují, aby "vizuální prezentace textu a obrázků textu má kontrastní poměr nejméně 4,5:1". Další informace naleznete v tématu Kritérium úspěchu 1.4.3 Kontrast (minimum).

Web Poměr kontrastu poskytuje nástroj, který umožňuje vybrat barvy popředí a pozadí a měřit kontrast. Tento nástroj můžete použít k vyhledání kombinací barev, které jsou pro vás nejvhodnější.