这是一个微不足道的问题,但却让我苦恼于无法彻底弄清楚它:
我正在运行 Windows 8,Powershell 版本 3.0。通过右键单击标题栏,我可以进入属性并更改字体、大小、背景颜色等,没有任何问题。
关闭并重新启动 Powershell 后,我所做的所有更改均会保留除了如果我将字体设置为 Lucida Console,那么重新打开时我会得到 Raster 字体。
(请注意,以上所有内容均适用于以管理员身份运行 Powershell 的情况。)
所以:
- 如果我将字体设置为 Lucida,那么它会在会话的剩余时间内切换到 Lucida。
- 如果我将字体设置为 Lucida 以外的其他字体,则关闭并重新打开后它将保持不变。
- 如果我改变窗口大小或文本颜色或其他任何内容,重新打开后更改仍会保留。
- 这仅有的出错的一点是,如果我将字体设置为 Lucida,则当我重新打开时它会切换为“光栅字体”。
- 但是 cmd 和 powershell ISE 没有这个问题 - 只有 powershell 控制台。
有人能指出可能出了什么问题吗?
(我的一个观察是,将字体设置为 Lucida 后重新打开 Powershell,一开始窗口的宽度和字体为 Lucida 时的宽度一样,但是一秒钟后,窗口会稍微变宽以适应光栅字体。)
答案1
这家伙也遇到了问题。他的解决方案对我也有用:
但是,当我重新打开 PowerShell 时,Windows 7 中的 shell 拒绝保存设置并坚持改回光栅字体。它与 Consolas 配合得很好,但我想要 Lucida
解决方法:选择 12 点以外的字体大小。
答案2
我以前也发现过这种现象,甚至在 Windows 7 上也是如此。试试这个 - 以管理员模式打开 PowerShell 窗口(右键单击以管理员身份打开的图标),更改字体并关闭窗口。现在以普通用户权限打开 PowerShell 窗口,您的更改应该会生效。
答案3
检查您正在使用的代码页
我发现当前使用的代码页不是 UTF-8 (65001)。您可以在属性 -> 选项中找到当前代码页。或者,您可以使用“chcp”命令找到它将代码页更改为 UTF-8
使用命令‘chcp 65001’更改其他字体
您可以通过更改 powershell 属性来使用其他字体
答案4
我也遇到过这种情况——这似乎与名称中带有空格的字体有关!
最后我放弃了,坚持使用 Consolas 作为我的默认 CLI 字体(在我看来,它不如 Lucida Console 那么赏心悦目,但比光栅字体要好)。我确实发现潜在的解决方案(但由于我没有机器的管理员权限,所以无法测试);不过也值得一看TechNet 库中的 SetConsoleFont 模块(4sysops 博客文章可能有助于安装/导入它,但我在这个网站上的声誉不够高,无法在回复中发布那么多链接)。
我似乎取得了一些进展,因为我可以在 PSH 会话中更改字体和大小(因此大概可以在我的个人资料中执行此操作),但我真的不想走不受支持的代码路线......