如何更改我键入的字符串值的颜色?

How can I change the color of string values I type?

在我的工作中,我最近开始经常使用 Powershell。为了方便使用它,我尝试根据自己的喜好自定义命令提示颜色,但是在尝试自定义引用字符串值的颜色时我遇到了 运行 问题。鉴于PS是一个基于文本的界面,这个说法可能意义不大,所以请参考这个

显然我还不能嵌入图片,所以你必须点击 link。 无论如何,这段文字对我来说非常难读,我正试图将它切换到具有更多对比度的内容,但我找不到适合它的设置。

我已经查看了以下选项:

  1. 在 UI(右键单击上下文菜单)中设置这些颜色,但这只允许设置默认前景和背景
  2. 使用$host.UI.RawUI设置颜色,但这也只允许设置默认的前景和背景
  3. 使用 $host.PrivateData 设置颜色,但是虽然这提供了更多选项,但它似乎没有设置对上下文更敏感的项目的选项,例如引用的文本,甚至您可以在中看到的变量图片。

我的后备计划是在必要时使用 PowerShell ISE(它允许我自定义它),但如果可能的话,我更愿意使用更轻量级的命令提示符。

有没有人知道如何更改它?

我在 Windows 10.

上使用 PowerShell v5

PowerShell 5.0 附带 PSReadLine,这是一个通过添加语法高亮着色等方式增强控制台编辑体验的模块。

您可以使用 Set-PSReadLineOption 更改字符串标记的颜色,例如:

Set-PSReadlineOption -TokenKind String -ForegroundColor Cyan


对于 PSReadLine 2.0 及更高版本,使用 -Colors 参数并提供(可选)标记颜色覆盖的字典 Set-PSReadLineOption:

Set-PSReadLineOption -Colors @{ String = 'Cyan' }