Если при работе в командной строке вы случайно допустите опечатку, скажем, вместо «r» в конце команды dir напечатаете «e», интерпретатор сообщит об ошибке, но ничем иным кроме как текстовым содержимым это сообщение не будет отличаться. Не так бывает в консоли PowerShell. Ошибки в ней подсвечиваются красным цветом на чёрном фоне и всё это на тёмно-синем окружении основного фона консоли.
Не очень приятное сочетание цветов, не правда ли?
Если вы тоже так считаете, почему бы их не изменить, сделать так, чтобы они гармонировали друг с другом? Начнём с того, что в PowerShell, как и в стандартной командной строке, цвет текста и основного фона можно менять. Кликните правой кнопкой мыши по заголовку окна консоли и выберите в меню «Свойства». В открывшемся окошке переключитесь на вкладку «Цвета» и подберите сочетание цветов для фона и текста, которое с вашей точки зрения является наиболее гармоничным.
Только вот текст ошибок по-прежнему будет выводиться красным цветом на том же чёрном фоне. Как изменить его? Очень просто. Используемые в PowerShell цвета хранятся в объекте PrivateData. Чтобы их просмотреть, содержимое этого объекта необходимо записать в переменную, а затем вывести её на экран. Вот так:
$col=(Get-Host).PrivateData
$col
За цвета сообщений об ошибках отвечают параметры ErrorForegroundColor и ErrorBackgroundColor. Как видим, по умолчанию первый имеет значение Red (красный), а второй значение Black (чёрный). Давайте заменим их.
$col.ErrorBackgroundColor = "Yellow"
$col.ErrorForegroundColor = "Blue"
Готово, теперь можете попробовать намерено выполнить какой-нибудь командлет с ошибкой.
Вы увидите, что цвет текста ошибки и окружающий его фон изменились. При желании можете поэкспериментировать и с другими свойствами. Например, WarningForegroundColor и WarningBackgroundColor отвечают за цвета предупреждений, а DebugForegroundColor и DebugBackgroundColor за сведения об отладке.
Да, чтобы не забыть, все доступные цвета выводятся командой [System.Enum]::GetNames([System.ConsoleColor]).
Способ, как видите, рабочий, но при этом следует помнить, что при завершении сессии созданная вами переменная будет удалена, а вместе с нею к значениям по умолчанию будут приведены свойства цветов. Чтобы сохранить настройки, вам нужно будет добавить их в свой пользовательский профиль. А что такое профиль PowerShell и для чего он нужен, мы поговорим в следующий раз.
Добавить комментарий