您可以在 Bash 和 Zsh 中啟用指令列完成功能 (也稱為分頁完成)。這可讓您以 Tab 鍵完成指令名稱、旗標名稱和旗標值,以及目標名稱。
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 存放區完成,也就是
/usr/share/zsh/vendor-completions
中已安裝 Zsh 完成指令碼。如果您高度自訂了
.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