9

私はpowershellにPOSH gitを使用しており、たとえば次のことができます

git checkout mini<tab>

そして私は得る

git checkout minidisk

git checkout用のエイリアスgcoを作成したい

gco mini<tab>

取得するため

gco minidisk

タブ補完を POSH git ハンドラに転送することは可能ですか?

4

3 に答える 3

7

「git ハンドラ」などというものはありません。posh-git シェルが行っている唯一のことは、デフォルトの TabExpansion 関数を独自の実装に置き換えることです。

必要な動作を得るには、実装を変更する必要があります。

変更したい場合は、posh-git シェル内で次のコマンドを実行してください。

notepad (Get-Command TabExpansion).ScriptBlock.File

メモ帳を選択したエディターに置き換えることができます。

編集

この特定のケースでそれを行う方法はいくつかあります。あまり時間をかけたくありませんが、この実装は複雑なので、実際に「git checkout」を使用したことをタブ機能に納得させようとします。

function TabExpansion($line, $lastWord) {
   $line = $line -replace '^gco ', 'git checkout '
   # rest of the function as it is...

ところで: PowerShell でそのようなエイリアスを作成する方法はありません: PowerShell のエイリアスは、コマンド + 引数ではなく、コマンドを置き換えることができます (後者の場合、関数を定義する必要があります)。

于 2014-05-12T11:29:45.577 に答える