Bazel 选项卡在 zsh 中自动完成不起作用
Bazel tab auto complete in zsh not working
我使用 oh-my-zsh 并且有一个 bazel 项目。我想要制表符完整。这样我就可以执行 bazel build //src/<tab>
并自动完成。
我尝试的第一件事如下:
https://docs.bazel.build/versions/master/completion.html。我将 _bazel 文件包含在我的 $fpath 目录下。然后我重新启动了我的终端,但没有完成任何选项卡。
接下来我尝试使用 oh-my-zsh 插件。 https://github.com/jackwish/bazel。我将插件克隆到正确的位置,将 bazel 添加到我的 zshrc 插件并执行 source ~/.zshrc
仍然没有标签完成。
我使用 brew 安装了 bazel。我试过 brew uninstall bazel
并重新安装它。运气不好...
$ echo $fpath
... /Users/<username>/.oh-my-zsh/completions ...
$ ls /Users/<username>/.oh-my-zsh/completions
_bazel
我想按 Tab 键并获取选项列表并能够在它们之间切换。
您需要重新初始化完成。 ZSH 中的补全系统收集 fpath
中的补全文件,并将它们记录在 .zcompdump
文件中,作为现有补全的索引。添加新补全文件后,需要重做流程
解决方案
将以下内容放入您的.zshrc
.
# add the _bazel into path
fpath+=(/path/to/_bazel)
重新收集完成并生成.zcompdump
。 运行 new 交互式 ZSH shell.
中的以下命令
rm -f ~/.zcompdump; compinit
我记得 oh-my-zsh 不会为你做 compinit
。您可能需要将 compinit
添加到您的 .zshrc
.
检查optimization here to run compinit
once a day。
扩展阅读
我必须安装 zsh-completions(通过 brew)并在安装后按照说明完成工作。
我使用 oh-my-zsh 并且有一个 bazel 项目。我想要制表符完整。这样我就可以执行 bazel build //src/<tab>
并自动完成。
我尝试的第一件事如下:
https://docs.bazel.build/versions/master/completion.html。我将 _bazel 文件包含在我的 $fpath 目录下。然后我重新启动了我的终端,但没有完成任何选项卡。
接下来我尝试使用 oh-my-zsh 插件。 https://github.com/jackwish/bazel。我将插件克隆到正确的位置,将 bazel 添加到我的 zshrc 插件并执行 source ~/.zshrc
仍然没有标签完成。
我使用 brew 安装了 bazel。我试过 brew uninstall bazel
并重新安装它。运气不好...
$ echo $fpath
... /Users/<username>/.oh-my-zsh/completions ...
$ ls /Users/<username>/.oh-my-zsh/completions
_bazel
我想按 Tab 键并获取选项列表并能够在它们之间切换。
您需要重新初始化完成。 ZSH 中的补全系统收集 fpath
中的补全文件,并将它们记录在 .zcompdump
文件中,作为现有补全的索引。添加新补全文件后,需要重做流程
解决方案
将以下内容放入您的
.zshrc
.# add the _bazel into path fpath+=(/path/to/_bazel)
重新收集完成并生成
中的以下命令.zcompdump
。 运行 new 交互式 ZSH shell.rm -f ~/.zcompdump; compinit
我记得 oh-my-zsh 不会为你做 compinit
。您可能需要将 compinit
添加到您的 .zshrc
.
检查optimization here to run compinit
once a day。
扩展阅读
我必须安装 zsh-completions(通过 brew)并在安装后按照说明完成工作。