0

tabexpansion当我像这样覆盖它时,该功能仅部分起作用:

function tabexpansion {
    param($line, $lastWord)

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

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

4

1 回答 1

1

如果函数不对它们执行任何操作,则文件名和 cmdlet 扩展将在 shell 本身中处理。其他所有内容,包括静态成员、cmdlet 的参数等。由函数处理。如果您看一下Function:TabExpansion那里有很多事情发生,如果您希望其他选项卡完成功能仍然有效,您可能需要保留。

于 2010-03-22T16:02:04.903 回答