Windows高对比度主题中的Powershell ISE编辑器

Windows高对比度主题中的Powershell ISE编辑器,windows,themes,powershell-ise,high-contrast,Windows,Themes,Powershell Ise,High Contrast,我最近开始使用powershell ISE,并意识到当windows设置为任何高对比度主题时,ISE用于文本编辑器和控制台的主题都不起作用。 所以基本上ISE的背景是黑色的,所有的文本都是白色的,就是这样。(虽然字体和大小可以改变。)黑白的外观是因为我目前的高对比度主题,我想。(黑色窗口背景,白色前景文本。) 我想知道,当我的窗口对比度很高时,是否有什么技巧可以启用ISE的正常(黑暗或我的自定义)主题。仅供参考,Microsoft Visual Studio的情况也是如此,但这可以通过调整主题的

我最近开始使用powershell ISE,并意识到当windows设置为任何高对比度主题时,ISE用于文本编辑器和控制台的主题都不起作用。 所以基本上ISE的背景是黑色的,所有的文本都是白色的,就是这样。(虽然字体和大小可以改变。)黑白的外观是因为我目前的高对比度主题,我想。(黑色窗口背景,白色前景文本。)

我想知道,当我的窗口对比度很高时,是否有什么技巧可以启用ISE的正常(黑暗或我的自定义)主题。仅供参考,Microsoft Visual Studio的情况也是如此,但这可以通过调整主题的注册表来解决。但是,无论如何,我找不到任何有价值的powershell主题注册中心,因此对此无能为力

我通常在晚上使用笔记本电脑(几乎没有灯光),所以我不想改变我的windows主题。
简而言之,帮助?
顺便说一句,windows是8.1,powershell是4.0(我想win 8.1的默认设置)。

注意:这里是新的,要温和:)

ISE支持以带有ps1xml扩展名的xml文件的形式导入您自己的主题。如果你到处搜索,你会发现很多;这里有一个很好的资源:

您还可以使用$psISE对象,该对象具有许多可以用十六进制设置的属性,如您所见:

# fonts
$psISE.Options.FontName = 'Monaco'
$psISE.Options.FontSize = 10

# output pane
$psISE.Options.OutputPaneBackgroundColor = '#FF2E3436'
$psISE.Options.OutputPaneTextBackgroundColor = '#FF2E3436'
$psISE.Options.OutputPaneForegroundColor = '#FFFFFFFF'

# command pane
$psISE.Options.CommandPaneBackgroundColor = '#FF2E3436'

# script pane
$psISE.Options.ScriptPaneBackgroundColor = '#FF2E3436'

# tokens
$psISE.Options.TokenColors['Command'] = '#3ca0d0'
$psISE.Options.TokenColors['Unknown'] = '#FFFFFFFF'
$psISE.Options.TokenColors['Member'] = '#FFFFFFFF'
$psISE.Options.TokenColors['Position'] = '#FFFFFFFF'
$psISE.Options.TokenColors['GroupEnd'] = '#FFFFFFFF'
$psISE.Options.TokenColors['GroupStart'] = '#FFFFFFFF'
$psISE.Options.TokenColors['LineContinuation'] = '#FFFFFFFF'
$psISE.Options.TokenColors['NewLine'] = '#FFFFFFFF'
$psISE.Options.TokenColors['StatementSeparator'] = '#FFFFFFFF'
$psISE.Options.TokenColors['Comment'] = '#009999'
$psISE.Options.TokenColors['String'] = '#F83E5B'
$psISE.Options.TokenColors['Keyword'] = '#33CDC7'
$psISE.Options.TokenColors['Attribute'] = '#FF84A7C1'
$psISE.Options.TokenColors['Type'] = '#FF7940'
$psISE.Options.TokenColors['Variable'] = '#66CC00'
$psISE.Options.TokenColors['CommandParameter'] = '#009999'
$psISE.Options.TokenColors['CommandArgument'] = '#60d4ae'
$psISE.Options.TokenColors['Number'] = '#238C47'

一个有趣的怪癖——如果你启用了高对比度,你会发现它会占用你的颜色,没有语法高亮显示(如@Light所述),但是一旦你给其中一个TokenColors赋值(即使它已经拥有这个值),TokenColors就会重新获得控制权(至少在Windows101903上的PS5.1中是这样)(18362)64位)。有关相关问题: