Я использую профиль powershell, чтобы изменить цвет фона консоли powershell (на черный), когда он работает в качестве моей учетной записи суперпользователя или на основе других критериев. Я делаю это просто, устанавливая следующие переменные в моем профиле ps1.
$host.ui.rawui.backgroundcolor = "black"
$host.ui.rawui.foregroundcolor = "white"
Окна консоли, использующие этот профиль, открываются с черным фоном, а исходное приглашение - белый текст с черным фоном. Нажатие Enter
без ввода текста ничего не меняет.
Однако, как только я введу какой-либо текст, цвет фона напечатанного текста, подсказок и любого вывода (кроме ошибок) изменится на белый по умолчанию на темно-синем. Общий фон консоли остается черным.
Перезагрузка профиля с помощью . .\path\profile.ps1
или ручной сброс переменных $host
(как указано выше) переводит запрос в белый на черный, но такое же поведение происходит снова. Самым странным является то, что даже если набрать текст, а затем отступить и ничего не вводить, приглашение снова перейдет во флот.
Есть ли способ на самом деле иметь чисто черный фон, или это просто ограничение консоли powershell (v5.1 btw)?
Я видел некоторые ссылки на другие связанные с цветом переменные, но я не понимаю, как они могут быть полезны в этом отношении:
$host.PrivateData.ErrorForegroundColor
$host.PrivateData.ErrorBackgroundColor
$host.PrivateData.WarningForegroundColor
$host.PrivateData.WarningBackgroundColor
$host.PrivateData.DebugForegroundColor
$host.PrivateData.DebugBackgroundColor
$host.PrivateData.VerboseForegroundColor
$host.PrivateData.VerboseBackgroundColor
$host.PrivateData.ProgressForegroundColor
$host.PrivateData.ProgressBackgroundColor
P.S. Я бы опубликовал изображение, но моя подсказка и прочее содержат личную информацию. Я уверен, что не могу дождаться нового модного Terminal MS, анонсированного в прошлом месяце. Я могу только надеяться, что это гораздо менее громоздко, чем это.