Bash と Zsh でコマンドライン補完(タブ補完とも呼ばれます)を有効にできます。これにより、コマンド名、フラグ名、フラグ値、ターゲット名をタブ補完できます。
Bash
Bazel には Bash 補完スクリプトが付属しています。
Bazel をインストールした場合は、次のようになります。
APT リポジトリからインストールした場合、Bash 補完スクリプトはすでに
/etc/bash_completion.dにインストールされているため、これで完了です。Homebrew からインストールした場合、Bash 補完スクリプトはすでに
$(brew --prefix)/etc/bash_completion.dにインストールされているため、これで完了です。GitHub からダウンロードしたインストーラからインストールした場合は、次のようになります。
補完ファイルの絶対パスを見つけます。インストーラによって
binディレクトリにコピーされています。例:
--userを使用してインストーラを実行した場合、これは$HOME/.bazel/binになります。インストーラを root として実行した場合、これは/usr/local/lib/bazel/binになります。次のいずれかを行います。
このファイルを補完ディレクトリ(存在する場合)にコピーします。
例: Ubuntu では、これは
/etc/bash_completion.dディレクトリです。または、Bash の RC ファイルから補完ファイルをソースします。
補完ファイルの絶対パスを使用して、次のような行を
~/.bashrc(Ubuntu の場合)または~/.bash_profile(macOS の場合)に追加します。source /path/to/bazel-complete.bash
-
補完スクリプトを作成します。
bazel build //scripts:bazel-complete.bash補完ファイルは
bazel-bin/scripts/bazel-complete.bashに作成されます。次のいずれかを行います。
このファイルを補完ディレクトリ(存在する場合)にコピーします。
例: Ubuntu では、これは
/etc/bash_completion.dディレクトリです。ローカル ディスクの任意の場所(
$HOMEなど)にコピーし、Bash の RC ファイルから補完ファイルをソースします。補完ファイルの絶対パスを使用して、次のような行を
~/.bashrc(Ubuntu の場合)または~/.bash_profile(macOS の場合)に追加します。source /path/to/bazel-complete.bash
Zsh
Bazel には Zsh 補完スクリプトが付属しています。
Bazel をインストールした場合は、次のようになります。
APT リポジトリからインストールした場合、Zsh 補完スクリプトはすでに
/usr/share/zsh/vendor-completionsにインストールされているため、これで完了です。.zshrcを大幅にカスタマイズしていて、自動補完が機能しない場合は、次のいずれかの解決策を試してください。.zshrcに次の行を追加します。zstyle :compinstall filename '/home/tradical/.zshrc' autoload -Uz compinit compinitまたは
oh-my-zshを使用している場合は、zsh-autocompleteプラグインをインストールして有効にすることをおすすめします。インストールしない場合は、上記の方法のいずれかを使用してください。Homebrew からインストールした場合、Zsh 補完スクリプトはすでに
$(brew --prefix)/share/zsh/site-functionsにインストールされているため、これで完了です。GitHub からダウンロードしたインストーラからインストールした場合は、次のようになります。
補完ファイルの絶対パスを見つけます。インストーラによって
binディレクトリにコピーされています。例:
--userを使用してインストーラを実行した場合、これは$HOME/.bazel/binになります。インストーラを root として実行した場合、これは/usr/local/lib/bazel/binになります。このスクリプトを
$fpathのディレクトリに追加します。fpath[1,0]=~/.zsh/completion/ mkdir -p ~/.zsh/completion/ cp /path/from/above/step/_bazel ~/.zsh/completion初めて使用する場合は、
rm -f ~/.zcompdump; compinitを呼び出す必要がある場合があります。必要に応じて、.zshrc に次の行を追加します。
# This way the completion script does not have to parse Bazel's options # repeatedly. The directory in cache-path must be created manually. zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache