PowerShell选项卡完成问题

时间:2010-11-23 20:28:07

标签: powershell tab-completion

假设我有以下文件夹:C:\[test]\x,那么,当在[test]文件夹内时,我根本无法使用PowerShell的标签页。

我猜其原因是文件夹名称需要转义为´[test´](滴答滴答,这会导致Markdown出现问题),因为从内部标记{{1 }}

我在C:\内部并键入C:\时并不关心缺少标签页的完成情况,但我想在该文件夹中使用标签页。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:2)

PowerShell及其许多功能通常不适用于带有特殊符号的路径,首先是[]符号。我们无法修复PowerShell核心,但我们可以修复/替换某些功能。 TabExpansion就是其中之一。它只是一个全局函数,可以用改进的实现替换。

可以在这里和那里找到几个自定义TabExpansion实现。我正在使用自己的。它是主机不可知的(至少它适用于Console,ISE和我自己的主机),它相当简单,但它提供了很多改进。您的特定问题也已得到解决。

TabExpansion的代码(点源代码或简单地从PowerShell配置文件中调用它): http://code.google.com/p/farnet/source/browse/trunk/PowerShellFar/TabExpansion.ps1

此测试涵盖了部分功能: http://code.google.com/p/farnet/source/browse/trunk/PowerShellFar/Bench/Test/Test-TabExpansion-.ps1 (测试只在特殊环境中运行,不要运行它,只需看看代码中的注释,看看TabExpansion可以做什么)。