Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Цвета по умолчанию для PowerShell и PSReadLine выбираются для темного фонового терминала. Однако некоторые пользователи могут использовать светлый фон с темным текстом. Так как большинство цветов по умолчанию не задают фон, используя светлые цвета переднего плана на светлом фоне, создается непрочитаемый текст.
Начиная с PowerShell 7.2, PowerShell добавляет цветные выходные данные в интерфейс консоли по умолчанию. Эта $PSStyle функция не поддерживается в Windows PowerShell по умолчанию. Однако с помощью модуля PSStyle из коллекции PowerShell можно задать значения цвета с помощью этих методов, описанных в этой статье.
Используемые цвета определяются в переменной $PSStyle и предназначены для темного фона. Эти цвета можно изменить, чтобы лучше работать для светлого фонового терминала.
PSReadLine позволяет определять цвета для 18 различных элементов синтаксиса. Текущие параметры можно просмотреть с помощью командлета 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"
Настройки цвета хранятся в виде строк с управляющими последовательностями ANSI, которые изменяют цвет в терминале. С помощью командлета Set-PSReadLineOption можно изменить цвета на значения, которые лучше подходят для светло-цветного фона.
Определение цветов для светлой темы
Интегрированная среда сценариев PowerShell может быть настроена для использования светлой темы для областей редактора и консоли. Вы также можете просматривать и изменять цвета, используемые ISE для различных синтаксиса и типов вывода. Эти варианты цветов можно использовать для определения аналогичной темы для PSReadLine.
Следующая хеш-таблица определяет цвета для PSReadLine, которые имитируют цвета в 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)
}
Замечание
Вы можете использовать метод FromRGB() для создания escape-последовательностей ANSI для нужных цветов.
Дополнительные сведения см. в $PSStyleabout_ANSI_Terminals. Дополнительные сведения о escape-последовательностях ANSI см. в статье escape-код ANSI в Википедии.
Настройка цветовой темы в профиле
Чтобы иметь параметры цвета, которые требуется в каждом сеансе PowerShell, необходимо добавить параметры конфигурации в скрипт профиля PowerShell. Пример см. в разделе "Настройка среды оболочки"
$ISETheme Добавьте переменную и следующую Set-PSReadLineOption команду в профиль.
Set-PSReadLineOption -Colors $ISETheme
Следующие параметры лучше подходят для терминала со светлым фоном.
$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
Выбор цветов для доступности
Цветовая тема ISE может не работать для пользователей с цветовой слепотой или другими условиями, ограничивающими их способность видеть цвета.
Консорциум World Wide Web Consortium (W3C) содержит рекомендации по использованию цветов для специальных возможностей. Рекомендации по специальным возможностям веб-контента (WCAG) 2.1 рекомендуют, чтобы визуальное представление текста и изображений текста имело коэффициент контрастности не менее 4,5:1. Дополнительные сведения см. в разделе Критерий успеха 1.4.3 контрастности (минимум).
Веб-сайт "Коэффициент контрастности " предоставляет инструмент, который позволяет выбирать цвета переднего плана и фона и измерять контрастность. Это средство можно использовать для поиска сочетаний цветов, которые лучше всего работают для вас.