我已经使用官方安装脚本安装了rustup+rust+cargo。
如何启用shell自动完成功能,以便在终端中输入cargo <TAB>
并查看可能的命令,例如cargo check
?
我已经使用官方安装脚本安装了rustup+rust+cargo。
如何启用shell自动完成功能,以便在终端中输入cargo <TAB>
并查看可能的命令,例如cargo check
?
rustup completions
并按照说明操作。例如,对于bash
,你可以运行:mkdir -p ~/.local/share/bash-completion/completions
rustup completions bash > ~/.local/share/bash-completion/completions/rustup
rustup completions bash cargo > ~/.local/share/bash-completion/completions/cargo
为rustup
和cargo
生成补全。有关详细信息,请参阅rustup completions
,例如配置zsh
和fish
补全。
@AnonymousDuck的回答原则上是一个不错的方法。 "扩展"完成的缺点是,人们应该记得在更新后重新生成扩展形式,以便它们与相应的工具保持最新。
一种按需实现这一点的方法(在第一次调用时牺牲几毫秒)是:
printf '. <(rustup completions bash)\n' >~/.local/share/bash-completion/completions/rustup
printf '. <(rustup completions bash cargo)\n' >~/.local/share/bash-completion/completions/cargo
<(...)
需要 shell 不 处于 POSIX 模式。这将使完成函数保持最新状态。
bash$ cat ~/.local/share/bash-completion/completions/rust
if type -P rustup > /dev/null; then
source <( rustup completions bash ) # for rustup
source <( rustup completions bash cargo ) # for cargo
fi
plugins=(... rust)