【问题标题】:PowerShell tab completion issuePowerShell 选项卡完成问题
【发布时间】:2010-11-23 20:28:07
【问题描述】:

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

我猜这是因为文件夹名称需要转义为´[test´](倒转刻度,这会导致此处出现 Markdown 问题),就像从C:\ 内部跳动时完成一样。

我并不关心在C:\ 中输入[t... 时缺少的制表符补全,但我想在该文件夹中使用制表符补全。有没有办法解决这种行为?

【问题讨论】:

  • 我什至无法使用Set-Location 进入该文件夹...它需要LiteralPath 参数。哎呀。

标签: powershell tab-completion


【解决方案1】:

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 (测试只在特殊环境下有效,不要运行,看一下代码中的cmets,看看TabExpansion能做什么)。

【讨论】:

  • 谢谢,我会看看这个!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-12
  • 1970-01-01
  • 2011-04-04
  • 1970-01-01
相关资源
最近更新 更多