您可以在 Bash 和 Zsh 中启用命令行补全功能(也称为 Tab 键补全)。这样,您就可以使用 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 代码库中安装,然后就完成了 - 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