您可以在 Bash 和 Zsh 中啟用指令列完成功能 (也稱為分頁完成功能)。這可讓您使用 Tab 鍵完成指令名稱、標記名稱和標記值,以及目標名稱。
巴什文
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
透過 bootstrapping,然後:
建立完成指令碼:
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 到此,
$(brew --prefix)/share/zsh/site-functions
已經安裝 Zsh 完成指令碼。從 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