Heroku CLI のオートコンプリート
最終更新日 2023年06月16日(金)
Heroku CLI のオートコンプリートは、Tab キーを押したときにコマンド名やフラグ名を完了するのに役立ちます。CLI のオートコンプリートでは、Heroku CLI のすべてのコマンドの入力が補助され、追加された新しいコマンドは自動的にサポートされます。アプリ、パイプライン、環境設定など、一部のフラグや引数の値の入力も補助できます。
オートコンプリートのインストール
まず、CLI を更新してセットアップを実行します。
$ heroku update
$ heroku autocomplete
CLI のオートコンプリートが正しく機能するには、最新バージョンの Heroku CLI を使用している必要があります。最新バージョンへの更新は、上記の手順に含まれています。
Homebrew から CLI をインストールした場合、Homebrew の補完を介してオートコンプリートを使用するには、手順に従って Homebrew から CLI をアップグレードします。
実行する必要がある手順は、bash
と zsh
のどちらかを使用しているかによって異なります。セットアップを完了したら、オートコンプリートが Tab キーですぐに使用できます。
この機能は bash
および zsh
でのみ使用できます。
コマンド名の補完
コマンドの入力を開始して tab
キーを押すと、コマンドを最後まで入力したときの候補が表示されます。特定のプレフィックスに一致するすべてのコマンドとマッチさせることができます。
$ heroku <TAB>
addons -- lists your add-ons and attachments
addons:attach -- attach add-on resource to a new app
addons:create -- create an add-on resource
...
たとえば、heroku add
と入力した後に tab
キーを押すと、heroku addons
にオートコンプリートされます。
bash
シェルでは、tab
キーを 2 連続で押すとオートコンプリートが発動します。
フラグ名の補完
ほとんどの CLI コマンドでは、フラグを使用して追加の入力を指定します。フラグの前には 2 つのダッシュ (--
) が付いています (--app
など)。一部のコマンドでは多くの異なるフラグが考えられます。--
を入力した後に Tab キーを押すと、各コマンドで使用可能なすべてのフラグを表示できます。特定のプレフィックスに一致するすべてのフラグ名とマッチさせることができます。
$ heroku apps:info --<TAB>
--app -- (autocomplete) app to run command against
--as -- name for add-on attachment
たとえば、heroku apps:info --a
と入力した後に tab
キーを押すと、heroku apps:info --app
にオートコンプリートされます。
フラグ値の補完
ほとんどのフラグでは、値を指定する必要があります。たとえば、--app
では、アプリの名前を指定する必要があります。オートコンプリートを使用すると、多くの一般的なフラグ (--app
、--pipeline
、--space
、--team
など) の値を完了できます。
$ heroku apps:info --app=<TAB>
staging-app
production-app
たとえば、上の出力に示されている 2 つのアプリがあり、次のように入力して Tab キーを押します。
heroku apps:info --app=p
すると、次のようにオートコンプリートされます。
heroku apps:info --app=production-app
すべてのフラグにオートコンプリートオプションがあるわけではありません。このオプションがあるフラグには、フラグ名のオートコンプリート中に (autocomplete)
のタグが付けられます。例については、「フラグ名の補完」を参照してください。
環境設定とアドオン名の補完
CLI でアプリが認識されている場合は、環境設定やアドオン名を完了できます。CLI が Git リモート経由でアプリを推測することも、フラグでアプリ名を指定することもできます。CLI には補完内容を知るためのコンテキストが必要なため、このような補完は “コンテキスト依存の補完” と呼ばれます。
オートコンプリートのアンインストール
オートコンプリートをアンインストールするには、プラグインを削除し、zsh
または bash
プロファイルからオートコンプリート環境変数を削除します。
$ heroku plugins:uninstall autocomplete