我正在使用Write-Host
cmdlet来更改提示的颜色,我注意到DarkYellow
颜色没有显示为任何forms的黄色,而是显示为灰色! 这是对所有颜色的testing
PS> 0..15 | %{ Write-Host "Hello, world!" -ForegroundColor $_ }
我通过使用一个不好的值得到了所有枚举值的列表
PS> Write-Host "Hello, World!" -ForegroundColor foo
黑色,深蓝,深绿,深色,暗红,深红,暗黄,灰,暗灰,蓝,绿,青,红,洋红,黄,白
我意识到,这个“控制台颜色”列表莫名其妙地对应于这个控制台窗口/快捷方式的设置,对吧? 所以, DarkYellow
将会是第七名,而且看起来很灰。
ForegroundColor
, System.ConsoleColor
和这些控制台快捷方式设置之间的连接是什么? 为什么暗黄色显示为“开箱即用”的灰色? 我应该改变它吗? 这会改变我的系统上的每个控制台或只是这个快捷方式?
为什么控制台在Windows上如此精美?
我在Windows 7 Pro SP1 64位上,并从“开始”菜单启动“Windows PowerShell”快捷方式。
Lee Holmes的博客文章, PowerShell的Noble Blue ,谈论了这一点,但实际上并没有解释为什么DarkYellow改变了。 蓝色背景很可能是默认的DarkYellow无法读取的。
正如你可能已经想出的那样 – System.ConsoleColor稍微有些错误,因为它实际上没有指定颜色,它指定了一个可以通过快捷方式修改的颜色表的索引。 这不幸的是控制台子系统的限制。
如果更改快捷方式PowerShell.lnk,则只会为您自己更改颜色,并且仅在您从该链接启动PowerShell时才会更改颜色。 如果您使用开始| 运行,或者说运行cmd,然后从cmd运行PowerShell,你会得到不同的设置。
李的博客文章应该给你足够的提示,以获得你喜欢的行为。
我没有确切的答案,但我有这样的作品! 我做了一些研究(谢谢,杰森Shirk),并发现System.ConsoleColor
只是一个索引到颜色表,必须由此代表
该文件提到, DarkYellow
应该是“ 赭石 ”(RGB:204,119,34)。
| DarkYellow | The color dark yellow (ochre). |
从应用程序的左上方的窗口菜单中选择“默认”,你会看到通用的“控制台Windows属性”(如上图),这将修改任何ConsoleWindowClass
类型的窗口。
选择“屏幕文本”选项,你会注意到它被设置为使用DarkYellow
的位置的值。 我不知道他们为什么不在旁边使用Gray
或DarkGray
! 点击第7个框( DarkYellow
的索引),并将其更改为赭色的RGB值。 然后,将“Screen Text”设置为Gray
或DarkGray
(除非您确实需要赭石前景文字)。
所有的命令提示符,PowerShell和Git Bash(mingw)控制台都将被改变(我是)。
我在“运行”对话框中遇到了一些PowerShell提示。 它采取了颜色,但不是我的一些其他设置(物理和缓冲区大小等)。 我结束了使用scoop
来安装concfg
PS> scoop install concfg PS> scoop install sudo
并导出我的好控制台设置
PS> concfg export > ~\.consolerc
并将它们导入到我偏见的提示中(可以使用sudo
,也可以使用sudo
,或者启动管理提示符)
PS> sudo concfg import ~\.consolerc
实际上,concfg似乎可以导出所有内容,颜色表值和选项! 这里是我的配置的部分转储(颜色部分)
{ "popup_colors": "cyan,white", "dark_gray": "#808080", "screen_colors": "gray,dark_magenta", "dark_green": "#008000", "blue": "#0000ff", "dark_yellow": "#cc7722", "red": "#ff0000", "magenta": "#ff00ff", "dark_red": "#800000", "yellow": "#ffff00", "dark_magenta": "#012456", "cyan": "#00ffff", "green": "#00ff00", "dark_blue": "#000080", "gray": "#c0c0c0", "white": "#ffffff", "black": "#000000", "dark_cyan": "#008080" }