如何更改 PowerShell 命令的输出以使其具有不同的颜色?

如何更改 PowerShell 命令的输出以使其具有不同的颜色?

我怎样才能将我的 PowerShell 命令更改为使用 WSL2、ZSH、VSCode 等进行 Windows 开发设置? 您可以在时间戳 3:55 处查看,另请参考此图:

命令

  • 我已经安装了 xcad 主题并遵循了让 Windows 终端看起来很棒! 但我无法让它看起来像我想要的那样。如果我dir在 PowerShell 中输入,只有“dir”会更改为紫色,但生成的查询却是完全白色的。
  • 另外,我附上的图片是 Ubuntu 在 Windows 上通过 WSL 运行的片段,我尝试在 Ubuntu 上进行相同的配置,但它看起来并不像我想要的那样。

有人能告诉我吗?我只想以这种方式更改 PowerShell 命令结果,我不想更改 Ubuntu 的任何内容。有什么办法吗?

答案1

在 PowerShell 中,有很多方法可以为命令输出着色,但没有一种通用的方法可以适用于所有命令。

要专门为目录/文件信息着色,您可以使用此模块,例如:PS颜色。它将覆盖常用命令的默认输出。步骤:

  1. 使用安装鍵盤
Install-Module PSColor
  1. 添加Import-Module PSColor到您的 PowerShell 配置文件中。您可以使用 找到您的 PowerShell 版本的位置echo $PROFILE,例如:
C:\Users\[user]\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

适用于 PowerShell 7。

  1. 您还可以在同一个文件中配置颜色,如下所示自述
$global:PSColor = @{
    File = @{
        Default    = @{ Color = 'White' }
        Directory  = @{ Color = 'Cyan'}
        Hidden     = @{ Color = 'DarkGray'; Pattern = '^\.' } 
        Code       = @{ Color = 'Magenta'; Pattern = '\.(java|c|cpp|cs|js|css|html)$' }
        Executable = @{ Color = 'Red'; Pattern = '\.(exe|bat|cmd|py|pl|ps1|psm1|vbs|rb|reg)$' }
        Text       = @{ Color = 'Yellow'; Pattern = '\.(txt|cfg|conf|ini|csv|log|config|xml|yml|md|markdown)$' }
        Compressed = @{ Color = 'Green'; Pattern = '\.(zip|tar|gz|rar|jar|war)$' }
    }
}

较新的 PowerShell 版本 (7.2+) 还具有$PSSTYLE可以修改某些输出的变量。请参阅文档例子可以修改的内容。

您还可以通过回显来检查所有可用属性$PSSTYLE

相关内容