如果被覆盖,tabexpansion不会失败

时间:2010-03-22 07:57:51

标签: autocomplete powershell-v2.0

tabexpansion函数仅在我覆盖它时才部分起作用:

function tabexpansion {
    param($line, $lastWord)

    if ($line -eq "hey ") {
        "you", "Joe"
    }
}

自定义完成按预期工作,但现在我只获得cmdlet名称的默认自动完成行为,而不是参数。所以 New - TAB 工作正常,但 New-Alias - TAB 却没有。在覆盖tabexpansion之后如何获得常规完成?

1 个答案:

答案 0 :(得分:1)

如果函数不对这些函数执行任何操作,则在shell本身中处理文件名和cmdlet扩展。其他所有内容,包括静态成员,cmdlet参数,& c。由函数处理。如果你看一下Function:TabExpansion,那么你可能想要保留其他标签完成功能仍然有效。