PowerShell - 覆盖现有别名,但不更新选项卡完成

时间:2018-01-23 15:27:52

标签: alias powershell-v5.0

我用自己的函数覆盖现有的别名ls。它可以工作,但是标签完成仍然显示内置Get-ChildItem的选项,而不是我的函数中的选项。如果我更改为其他别名,它可以正常工作。

这是一个MWE:

Remove-Item alias:ls -Force
function global:Get-MyChildItems {
    param ([string]$filter)
    Get-ChildItem -Filter $filter
}
Set-Alias ls Get-MyChildItems
Set-Alias l Get-MyChildItems

现在我输入ls -并按Tab键两次。您会在此处看到结果:here 它与您从Get-ChildItem获得的列表相同。

在输入l -并按Tab键时,该选项已完成,我的功能只有-filter

为什么完成不同?

我使用PSVersion 5.0.10586.117。

0 个答案:

没有答案