gpt4 book ai didi

windows - 为什么 Powershell 会在 $PATH 中的每个目录中搜索 PSConsoleHostReadLine 文件?

转载 作者:可可西里 更新时间:2023-11-01 09:34:26 35 4
gpt4 key购买 nike

全部!

我注意到从 v2 升级到 v3 后,Powershell,或者更具体地说,Powershell 中的粘贴和制表符完成功能在我的机器上慢了很多。我打开 procmon 看看发生了什么,结果发现 每次 尝试使用制表符完成或粘贴任何内容都会触发 Powershell 以查找中提供的文件的各种排列主题。我的 $PATH 中有一些网络文件夹,每次粘贴内容时都浏览这些文件夹似乎不理想。

似乎这个文件允许 Powershell 的行为更像 Bash。虽然这绝对是太棒了,而且我期待在不久的将来滥用此功能,但是否有任何方法可以配置 Powershell,使其仅尝试在 一个 目录中查找此文件?

谢谢!

最佳答案

PSConsoleHostReadLine 实际上是一个函数。如果 PoSH 找不到方法、别名或任何其他具有该名称的可执行文件,它会回退到默认的“熟”读行并进行编辑等。

要重新定义它,创建一个函数:

function PSConsoleHostReadline {
[Console]::Readline()
}

如所写,此方法禁用编辑等。编写您自己的疯狂魔法来做任何您想做的事。

我猜它正在搜索所有额外的位置,因为 Powershell 3 具有“模块自动加载”功能,它会检查 ENV:PSModulePath 中已知的所有位置中的功能,并自动加载包含所述方法的模块。

关于windows - 为什么 Powershell 会在 $PATH 中的每个目录中搜索 PSConsoleHostReadLine 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17344887/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com