about_Tab_Expansion

简短说明

PowerShell 提供输入自动补全功能,以提供提示、启用发现和加快条目输入速度。 通过按 Tab 键,可自动补全命令名称、参数名称、参数值和文件路径。

详细说明

Tab 扩展由内部函数 TabExpansion2 控制。 由于此函数可被修改或覆盖,所以此讨论可用作针对默认 PowerShell 配置的行为的指导。

还可以通过 PSReadLine 模块的预测 IntelliSense 功能修改 Tab 扩展行为。 有关详细信息,请参阅 预测 IntelliSense

Tab 键是 Windows 上的默认键绑定。 可以使用 PSReadLine 模块或托管 PowerShell 的应用程序更改密钥绑定。 在非 Windows 平台上,键绑定可能有所不同。 有关详细信息,请参阅 about_PSReadLine

注意

Tab 键扩展进程的一个限制是 Tab 键始终解释为尝试完成单词。 如果将命令示例复制并粘贴到 PowerShell 控制台中,请确保示例不包含选项卡。 如果这样做,结果将是不可预知的,几乎肯定不是你预期的。

文件和 CMDLET 名称完成

若要从可用选择中自动填充文件名或路径,键入部分名称并按下 Tab 键。 PowerShell 会自动将名称扩展至找到的第一个匹配项。 按 Tab 键会重复循环访问所有可用选项。

Cmdlet 名称完成

名称的 Tab 键扩展稍有不同。 若要在 cmdlet 名称上使用 Tab 键扩充,键入名称的整个第一部分(即谓词),然后是后跟的连字符。 你可以填入名称的更多内容以进行部分匹配。 例如,如果键入 get-co 并按 Tab 键,PowerShell 会自动将其 Get-Command 扩展到 cmdlet。 请注意,它还会将字母大小写更改为其标准窗体。 如果再次按 Tab 键,PowerShell 会将此替换为另一个唯一匹配的 cmdlet 名称 Get-Content

Tab 自动补全功能还可用于解析 PowerShell 别名和原生可执行文件。

你可以在同一行上重复使用 Tab 键扩展。 例如,可以通过输入以下内容在 Get-Content cmdlet 的名称上使用 tab 扩展:

示例

PS> Get-Con<Tab>

当你按下 Tab 键时,该命令扩展为:

PS> Get-Content

然后你可以部分指定“智能安装”日志文件的路径并再次使用选项卡扩展:

PS> Get-Content C:\windows\acts<Tab>

当你按下 Tab 键时,该命令扩展为:

PS> Get-Content C:\windows\actsetup.log

PSReadLine 还具有菜单自动补全功能。 Windows 上的默认键绑定是 Ctrl+空格键

PS> fore<Ctrl-Space>

Ctrl+空格键时,PowerShell 会将匹配值的完整列表显示为菜单:

PS> foreach
foreach         ForEach-Object  foreach.cmd

在此示例中,字符串“fore”与 foreach(PowerShell 别名)、ForEach-Object (cmdlet) 和 foreach.cmd(原生命令)匹配。 使用箭头键选择所需的值。

参数参数完成

Tab 键自动补全还可以自动补全参数自变量。 可以使用 Tab 键循环访问一系列可能对某些参数有效的值。

有关详细信息,请参阅 about_Functions_Argument_Completion

另请参阅