Closed dyphire closed 2 months ago
Windows PowerShell
吧?Windows PowerShell
中确实可能出现这样的问题,因为 Windows PowerShell
本身就有一些渲染问题PowerShell
,不要在使用 Windows PowerShell
了我使用的是 PowerShell 7,pwsh
$Profile
文件,只导入 PSCompletions
试试?测试了下,发现是默认编码和输出文件编码的设置在Import-Module PSCompletions
前导致的,奇怪的兼容性问题
有可能优化吗?其他模块没遇到过
Import-Module PSCompletions
提前即可~不止这一个影响,我测试了下把Import-Module PSCompletions
放在其他Import-Module
模块下面一样会导致这种菜单渲染错误,它必须置于引入模块的第一个。确定不是兼容性问题吗?~
编辑:再次测试后发现是不能置于 oh-my-posh 模块下,没事了
$Profile
也有两三百行,我将 Import-Module PSCompletions
放到末尾,也都没有任何问题$Profile
中,我也不知道到底放了些什么,可能也会存在一些冲突的模块PSCompletions
模块也没有什么其他的依赖,只是使用了 PowerShell
内部的 $Host
对象,Register-ArgumentCompleter
和 Set-PSReadLineKeyHandler
~不止这一个影响,我测试了下把
Import-Module PSCompletions
放在其他Import-Module
模块下面一样会导致这种菜单渲染错误,它必须置于引入模块的第一个。确定不是兼容性问题吗?~编辑:再次测试后发现是不能置于 oh-my-posh 模块下,没事了
应该不是这个问题,我一直都是将 Import-Module PSCompletions
这一行放在 oh-my-posh init pwsh ...
之后的
~不止这一个影响,我测试了下把
Import-Module PSCompletions
放在其他Import-Module
模块下面一样会导致这种菜单渲染错误,它必须置于引入模块的第一个。确定不是兼容性问题吗?~ 编辑:再次测试后发现是不能置于 oh-my-posh 模块下,没事了应该不是这个问题,我一直都是将
Import-Module PSCompletions
这一行放在oh-my-posh init pwsh ...
之后的
不是很清楚,主要我这边测试放在 oh-my-posh 模块下菜单渲染也会出错,我的$Profile
总共也没多少配置
PSCompletions
后面,这样 PSCompletions
才可以获取到最开始的编码,从而不影响后续的渲染PSCompletions
只会读取编码,不会修改编码习惯用 oh-my-posh 模块方式了,PowerShell 的配置文件夹通过 onedrive 同步,多设备使用方便些。反正问题已经解决了
开始之前...
你正在使用什么 Powershell 版本?
PowerShell
你正在使用什么系统环境?
Windows
bug 复现步骤
使用 tab 补全功能显示补全框后尝试浏览列表
期望结果
补全框正确渲染
实际发生了什么?
补全框渲染异常
还有其他你想要补充的信息吗?
No response