Вопрос

Предположим, у меня есть следующая папка: C:\[test]\x, затем, когда внутри [test] кроме того, я вообще не могу использовать завершение вкладки PowerShell.

Я предполагаю, что причина этого в том, что имя папки нужно было бы экранировать в ´[test´] (с перевернутыми галочками, что вызывает здесь проблемы с уценкой), как это делает завершение при вводе вкладок изнутри C:\.

На самом деле меня не волнует отсутствующее завершение вкладки, когда внутри C:\ и печатал на машинке [t..., но я хотел бы использовать завершение вкладки в этой папке.Есть ли какой-нибудь способ исправить это поведение?

Это было полезно?

Решение

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).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top