zsh下是否存在类似Makefile补全的scons目标补全功能?
zsh SCons 自动补全问题解答
zsh原生支持SCons的目标自动补全,能力和Makefile补全完全一致,同时也支持scons run的子目标自动补全,相关配置和注意事项如下:
- 启用方式:
绝大多数zsh发行版、第三方配置框架(如oh-my-zsh)已经内置了SCons补全脚本,你可以执行compdef | grep scons验证是否已启用,正常会返回_scons scons的匹配结果。
如果未启用,只需在~/.zshrc中添加以下配置,重载配置后即可生效:
配置完成后执行autoload -U compinit compinit compdef _scons sconssource ~/.zshrc即可生效。 - 补全逻辑:
SCons补全脚本会自动扫描当前目录下的SConstruct文件,调用scons -Q --help解析所有合法构建目标,你输入scons后按Tab键即可列出所有可用构建目标,输入scons run后按Tab也会自动匹配所有符合规则的run类目标供选择。 - 异常排查:
如果补全不生效,先执行scons -h确认SCons本身可以正常识别当前项目的所有目标,再检查当前工作目录下是否存在SConstruct文件即可。
内容的提问来源于stack exchange,提问作者rho
相关产品推荐
相关产品推荐

