winget コマンド ライン ツールには、状況依存のタブ補完を提供する complete コマンドが用意されています。 現在のコマンドラインの状態に応じて、コマンド名、引数名、引数値の入力補完がサポートされています。
タブ補完を有効にする
winget でタブ補完を有効にするには、PowerShell で次のスクリプトを $PROFILE に追加する必要があります。
PowerShell を開き、次のコマンドを入力して、メモ帳で
$PROFILEを開きます。notepad.exe $PROFILE次のスクリプトをコピーして、メモ帳で開いた
$PROFILEファイルに貼り付けます。Register-ArgumentCompleter -Native -CommandName winget -ScriptBlock { param($wordToComplete, $commandAst, $cursorPosition) [Console]::InputEncoding = [Console]::OutputEncoding = $OutputEncoding = [System.Text.Utf8Encoding]::new() $Local:word = $wordToComplete.Replace('"', '""') $Local:ast = $commandAst.ToString().Replace('"', '""') winget complete --word="$Local:word" --commandline "$Local:ast" --position $cursorPosition | ForEach-Object { [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_) } }スクリプトを使用して
$PROFILEを保存します。 次に、PowerShell を閉じてから再度開きます。 PowerShell を再度開くと、winget タブの完了が有効になります。
タブ補完の例
タブ (⇥) を繰り返し押すと、使用可能な値が循環します。
| インプット | 結果 | 理由 |
|---|---|---|
winget ⇥ |
winget install |
install はルートの下の最初のコマンドです |
winget sh⇥ |
winget show |
show は sh で始まる最初のコマンドです。 |
winget source l⇥ |
winget source list |
list は l で始まるソースの最初のサブコマンドです。 |
winget -⇥ |
winget --version |
--version は、ルートに対して定義された最初の引数です |
winget install power⇥ |
winget install "Power Toys" |
"Power Toys" は、ID、名前、またはニックネームが power から始まる最初のパッケージです。 |
winget install "Power Toys" --version ⇥ |
winget install "Power Toys" --version 0.19.2 |
0.19.2 は、執筆時点で最も高いバージョンの Power Toys です |
コマンド リファレンス
完全なコマンドは、3 つの必須引数を受け取ります。
| 引数 | 説明 |
|---|---|
--word |
完了中の現在の単語。カーソルが配置されているトークン。 カーソルに現在の値がないことを示すには空にすることができますが、指定されている場合は、コマンド ラインで部分文字列として表示する必要があります。 |
--commandline |
wingetを含む、現在のコマンド ライン全体。 上記の例を参照してください。タブ文字 (⇥) 以外のすべてをこの引数に指定する必要があります。 |
--position |
コマンド ライン内のカーソルの現在位置。 末尾に示すコマンド ライン文字列の長さを超えることができます。 |
単語値が入力されると、オートコンプリートは置換モードで動作します。 指定された単語値で始まり、この場所に正しく収まる入力候補が提案されます。
単語の値が指定されていない場合 (たとえば、単語に--word=のような空の値が指定されている場合)、入力候補は挿入モードで動作します。 カーソルの位置に新しい値として収まる入力候補が提案されます。
引数に基づいて、提案される入力完了候補は次のいずれかになります。
- sub コマンド :: カーソルはコマンドの直後にあり、使用可能なサブコマンドがあります。
- 引数指定子 :: カーソルは、値を受け取る引数指定子の後に配置されず、使用できる引数があります。
- 引数値 :: カーソルは、値を受け取る引数指定子の後に配置されるか、位置指定引数が必要です。
これらのすべてのケースを評価した後、潜在的な補完が出力され、各行に 1 つずつ出力されます。 入力候補文字列にスペースが含まれている場合は、引用符で囲まれます。
関連トピック
Windows developer