为什么有些 PowerShell 控制台可调整大小,有些却不可以?

为什么有些 PowerShell 控制台可调整大小,有些却不可以?

我刚刚注意到,在我的主系统上,PowerShell 控制台无法调整大小,当您按下最大化时,宽度不会改变,并且您无法从下角拖动到右侧等,也无法按住 CTRL + 滚动鼠标滚轮来调整大小,即这个控制台框就像 DOS 一样。但是,当我在另一个系统上(使用完全相同的 Windows 10 版本)时,PowerShell 控制台完全可以调整大小(所有上述限制都消失了)。有谁知道为什么存在这两个完全不同的控制台,都称为 PowerShell,以及如何访问更好的(即更现代/可调整大小的)控制台(并摆脱类似 DOS 的控制台)?

答案1

控制台窗口不是 PowerShell 的一部分 – 它由 Conhost 显示。

Conhost 是 Windows 上所有“命令行”程序的通用控制台窗口主机,即每当 powershell.exe 运行时都会自动显示同一种窗口或者cmd.exe 已启动。

它根本不涉及 DOS(自 1992 年以来,cmd.exe 就不再是“DOS”),但自从它作为 NT3.x 的一部分首次发布以来,它基本保持不变,直到最近才具有调整大小或缩放功能。

Conhost 在 Windows 8.1 和 Windows 10 中得到了一定程度的改进,包含各种新功能(缩放、动态调整大小、Unix 风格的 ANSI 代码支持),但出于对破坏某些现有程序的担忧,它仍然允许禁用新的“Conhost v2”附加功能。

这 ”使用旧版控制台“切换按钮位于每个控制台窗口的“属性”对话框的底部(可以通过窗口的AltSpace系统菜单访问):

“属性”窗口的屏幕截图


然而,在这些更新之后,原版 Conhost 的开发再次陷入停滞——取而代之的是一个新的Windows 终端应用程序正在开发中,它将成为 Windows 11 中的新默认控制台(和 Unix 风格的终端模拟器)。

相关内容