【发布时间】:2019-06-19 05:22:51
【问题描述】:
当它作为我的超级用户帐户运行或基于其他条件时,我正在使用 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
附:我会发布一张图片,但我的提示和内容中有个人信息。我肯定等不及上个月宣布的花哨的新终端 MS。我只能希望它远没有这么麻烦。
【问题讨论】:
-
您是否希望命令行中的每个字都是白色的?或者只是所有命令行的黑色背景?
-
@Drew 这个想法是让它看起来或多或少像一个传统的命令提示符窗口。黑色整体背景,以及黑色背景的白色文本。但仅在某些条件下,这样我就有了简单的视觉提示。如果没有基于 GUI 的不灵活颜色首选项设置的帮助,似乎 $host 变量不足以实现这一目标。
标签: powershell colors console