【问题标题】:Custom powershell backgroundcolor reverts when running commands?运行命令时自定义powershell背景颜色会恢复吗?
【发布时间】: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


【解决方案1】:

您需要相应地更改PSReadLineOption 选项以及RawUIPrivateData

查看Get-PSReadlineOption 以查找当前颜色以及使用Set-PSReadlineOption -TokenKind $token -BackgroundColor Black 调整它们的内容

【讨论】:

  • 天哪,这些选项都有!非常感谢。我永远不会发现。在没有任何先前知识的情况下进行谷歌搜索是一件非常困难的事情:P
  • FWIW,PSReadLineOption 在 v2(Powershell v6 和/或 1809+)中已更改。 -TokenKind 参数不再可用,颜色通过发送到-Colors 参数的哈希表进行设置。 docs.microsoft.com/en-us/powershell/module/psreadline/…
  • 我认为您的意思是 V6。 V5.1 仍然有它。 docs.microsoft.com/en-us/powershell/module/PSReadline/…
  • 奇怪,我在 1809 上使用的是 5.1 却无法识别。
  • 啊,我又从哪里获得了信息:它位于 5.1 文档的封闭反馈线程中。 PSReadLineOption V2 附带 Powershell v6 和更高版本的 Win10:github.com/MicrosoftDocs/PowerShell-Docs/issues/… 新版本似乎让背景颜色变得更加复杂,但显然这是可能的。
猜你喜欢
  • 1970-01-01
  • 2011-09-12
  • 2011-12-14
  • 1970-01-01
  • 2018-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多