PowerShell Tab Conclusão Emissão
-
27-09-2019 - |
Pergunta
Suponha que eu tenha a seguinte pasta: C:\[test]\x
, então, quando dentro do [test]
Pasta, não posso usar a conclusão da guia do PowerShell.
Eu acho que o motivo disso é que o nome da pasta precisaria ser escapar para ´[test´]
(Com os carrapatos invertidos, o que causa problemas de remarca aqui), como a conclusão faz quando se opõe de dentro C:\
.
Eu realmente não me importo com a conclusão da guia ausente quando dentro de C:\
e digitando [t...
, mas eu gostaria de usar a conclusão da guia dentro dessa pasta. Existe alguma maneira de corrigir esse comportamento?
Solução
PowerShell e muitas suas características em geral não funcionam bem com caminhos com símbolos especiais, [
e ]
símbolos em primeiro lugar. Não podemos consertar o núcleo do PowerShell, mas podemos corrigir/substituir alguns recursos. TabExpansion é um deles. É apenas uma função global que pode ser substituída por uma implementação aprimorada.
Várias implementações de TabExpansion personalizadas podem ser encontradas aqui e ali. Estou usando o meu. É agnóstico do hospedeiro (pelo menos funciona bem com console, ISE e meu próprio host), é razoavelmente simples e, no entanto, fornece muitas melhorias. Seu problema específico também foi resolvido.
O Código de TabExpansion (DOT-Source It In ou simplesmente chamá-lo do seu perfil PowerShell):http://code.google.com/p/farnet/source/browse/trunk/powershellfar/tabexpansion.ps1
Alguns de seus recursos são cobertos por este teste:http://code.google.com/p/farnet/source/browse/trunk/powershellfar/bench/test/test-tabexpansion-.ps1(O teste funciona apenas no ambiente especial, não o execute, basta dar uma olhada nos comentários no código para ver o que o TabExpansion pode fazer).