FAQ
相关问题
windows powershell 5.1 中内置补全菜单的 bug
提示
PSCompletions
默认使用的是模块本身提供的补全菜单,没有此 bug- 除非你通过
psc menu config enable_menu 0
去切换到 PowerShell 内置补全菜单
在 windows powershell 5.1 中,由于 一个 bug,使用
-
或--
时,不会触发内置补全菜单。解决方案:
- 使用
PSCompletions
提供的补全菜单而不是 PowerShell 内置的补全菜单 - 使用 PowerShell(pwsh),因为这个 bug 在 PowerShell 6.0 中修复
- 或者,在
-
或--
后面添加一个字符,例如-a
或--a
,然后按Tab
键触发自动补全。
- 使用
输出编码
如果你的系统以及工作环境是英语,也可以忽略这个编码问题。
- 如果你使用
[console]::OutputEncoding
修改了PowerShell
的输出编码,可能会导致菜单渲染问题 - 如果你必须使用它,请保证
[console]::OutputEncoding
在Import-Module PSCompletions
之后添加 - 同时,也有可能有其他的
PowerShell
模块内部修改了编码,这也会导致渲染问题 - 如果遇到渲染问题,你应该先尝试将
Import-Module PSCompletions
放到前面试试 - 如果还有问题,你应该清空你的
$Profile
配置文件,然后只引入Import-Module PSCompletions
来排查问题
注意
如果因为一些特殊原因,必须启用控制面板中的 区域设置
中的 Beta
选项,可以考虑以下解决方案
- 不要勾选控制面板中的
区域设置
中的Beta
选项,如下图所示 - 勾选后也会导致菜单渲染问题