1

Когда я использую завершение табуляции в Powershell для завершения относительного пути, Powershell преобразует его в абсолютный. В то время как абсолютные пути работают, это становится немного раздражающим (делая мои команды действительно длинными и заставляя меня переориентировать мой фокус, когда я автоматически завершаю). Есть ли способ изменить его, чтобы сохранить относительные пути при заполнении табуляции?

1 ответ1

2

Настройка расширения вкладки PowerShell

Вы можете настроить расширение вкладки в PowerShell, заменив функцию "TabExpansion". Вы можете получить текущее содержимое функции с помощью {{Get-Content function:TabExpansion}}. Эта функция должна возвращать все результаты, которые должны быть представлены пользователю.

Есть некоторые проблемы, с которыми нужно иметь дело.

Реализация относительных путей

Функция TabExpansion по умолчанию не выполняет расширение пути, она позволяет механизму PowerShell выполнять расширение пути, что является абсолютным последним отступлением. Поэтому вам необходимо добавить обработку пути к тому, что поставляется с PowerShell.

Лучший вариант

Я участвую в проекте PowerTab , который представляет собой богатую реализацию расширения вкладок в PowerShell. Он предлагает поддержку относительного пути, а также массу других вещей (имена классов WMI, имена типов .NET, общие ресурсы, сигнатуры методов и т.д.). Работа уже будет сделана для вас.

Пробовать себя

Если вы хотите попробовать добавить эту функцию в код по умолчанию, вы можете посмотреть конец этого файла, начиная с комментария «## Завершение работы с файловой системой»:

http://powertab.codeplex.com/SourceControl/changeset/view/040492b7d2d1#TabExpansionCore.ps1

В этом блоке довольно много специфического кода для PowerTab, но я могу вам помочь, если вы захотите попробовать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .