如何更改PowerShell提示色?

时间:2019-11-13 05:43:02

标签: powershell powershell-5.0 powershell-core

我经常发现自己迷失在许多看上去都一样的线条中。我很难从以前的命令的输出中看出最近命令的输出的开头。

因此,我想将PowerShell提示符的颜色从黑色背景上的白色文本永久更改为其他颜色。我该怎么办?

从我的角度来看,提示包含两个部分:

  1. 路径
  2. 命令

如何更改两者的颜色,但不更改命令的输出颜色?

或者,我也非常希望看到路径部分带有下划线。这也将有助于在其他输出行中找到我以前的命令,以查看相应的其他输出从何处开始。这可能吗?


编辑

一些评论要求对我的问题进行详细说明,因此,以下是两个截屏,描绘了实际/预期情况(请注意红线):

实际

enter image description here

预期

enter image description here


我想在PowerShell 5.x和Core中获得此功能。

那么,您认为这是对功能的要求,而不是对现有功能的查询?

2 个答案:

答案 0 :(得分:1)

将我的问题发布到GitHub上的PowerShell团队后,这是我的问题的答案:

https://github.com/PowerShell/PowerShell/issues/11136

有一个prompt()挂钩函数可用于自定义提示。

答案 1 :(得分:0)

This is the picture of the powershell editor im talking about in my last paragraph
我发现如果使用Powershell 5.1,则可以使用ASCII表中的一些转义字符来获得带下划线的输出:

Write-Host "Hello $([char]27)[4mWorld$([char]27)[24m"

由于我犹豫这是否完美,因此在特定文本下划线的最佳解决方案可能是这样:

function Write-Underlined-Host([string]$text,[boolean]$ispath)
{
    if ($ispath -eq $false)
    { 
        Write-Host $text
    }
    else
    {
        $underline = '-'
        $underline_count = $underline * $text.Length

        Write-Host -Object $text
        Write-Host -Object $underline_count
    }
}

$my_path = 'c:\users\jime\desktop'

Write-Underlined-Host -text $my_path -ispath $true

如果您想更改Powershell脚本编辑器的颜色(例如,如果使用ISE),则可以更改所有类型的颜色。

在ISE中: 工具>选项>脚本窗格令牌:(请参阅所附图片)