Я использую функцию, которая может внести некоторые изменения в каталог, а затем перенаправить / повторно псевдоним cd
к этой функции.
function go ($jumpto, [switch]$DisableAliasCD, [switch]$ResetGoHash, [switch]$ResetCDHistory) {
<stuff>
}
Set-Alias cc go
if (Test-Path Alias:cd) { Remove-Item -Path Alias:cd } # Remove the default: cd -> Set-Location
# Remove-Alias was not added until PS v6 so have to use Remove-Item with the Alias PSProvider
Set-Alias cd go -Option AllScope
Проверка синтаксиса каждого из go
, cc
, cd
get-command go -syntax
go [[-jumpto] <Object>] [-DisableAliasCD] [-ResetGoHash] [-ResetCDHistory]
get-command cc -syntax
go
get-command cd -syntax
go
Кажется, это имеет смысл. Тем не менее, я считаю, что IntelliSense отлично работает для cc
(то есть, если я наберу cc -
, а затем Tab
, появятся вышеуказанные 4 параметра, но для cd
ничего не произойдет.
Это ошибка? Или это как-то связано с объявлением Set-Alias cd
с параметром AllScope
(что я должен сделать, Set-Alias
не работает без него для cd
)