PowerShell选项卡完成问题

pok*_*oke 5 powershell tab-completion

假设我有以下文件夹:C:\[test]\x然后,当在[test]文件夹内部时,我根本无法使用PowerShell的选项卡完成.

我想这样做的原因是文件夹名称需要转义为´[test´](反转滴答,这会导致Markdown问题),因为从内部标记时完成C:\.

我并不真正关心内部C:\和键入时缺少的选项卡完成[t...,但我想在该文件夹中使用选项卡完成.有没有办法解决这个问题?

Rom*_*min 2

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

可以到处找到几个自定义 TabExpansion 实现。我用的是我自己的。它与主机无关(至少它与控制台、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 能做什么)。