【问题标题】:Powershell ISE Editor in Windows High Contrast ThemeWindows 高对比度主题中的 Powershell ISE 编辑器
【发布时间】:2014-08-23 10:55:57
【问题描述】:

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

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

我主要在晚上使用笔记本电脑(几乎没有灯光),所以我不想更改我的 Windows 主题。
简而言之,有帮助吗?
顺便说一句,windows 是 8.1,powershell 是 4.0(我猜是 win 8.1 的默认值。)
P.S:新来的,温柔点:)

【问题讨论】:

    标签: windows themes powershell-ise high-contrast


    【解决方案1】:

    ISE 支持以带有 ps1xml 扩展名的 xml 文件的形式导入您自己的主题。如果你在周围搜索一下,你会发现很多;这是一个很好的资源:@​​987654321@。

    您还可以使用 $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 重新获得控制权(至少 Windows 10 1903(18362) 64 位上的 PS 5.1 是这样)。相关问题:shrigley.com/…meta.stackoverflow.com/questions/274388/…
    猜你喜欢
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多