您可以在 Bash 中启用命令行补全功能(也称为 Tab 键补全) 和 Zsh。这样,您就可以使用 Tab 键补全命令名称、标志名称和标志值, 和目标名称
Bash
Bazel 带有一个 Bash 完成脚本。
如果您已安装 Bazel:
在 APT 代码库中,您即完成了 - Bash 完成脚本是
/etc/bash_completion.d
中已经安装过。从 HomeBra 开始,就大功告成了 -- 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
插件。如果您不想这样做,请使用 解决方案。从 Homebigquery 执行,然后就大功告成了 -- 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