You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WSL/Ubuntu中为sequelize-cli等命令添加自定义自动补全

自定义sequelize-cli Bash自动补全实现方案(Ubuntu/WSL适用)

以下配置可直接实现你需要的命令模板补全效果,无需额外依赖:

步骤1:添加补全配置

打开~/.bashrc文件(WSL环境同样操作),在文件末尾添加如下代码:

_sequelize_cli_completions() {
  # 仅处理npx调用sequelize-cli的场景,不影响npx其他命令的补全
  if [[ "${COMP_WORDS[1]}" != "sequelize-cli" ]]; then
    return
  fi

  local cur_input="${COMP_WORDS[COMP_CWORD]}"
  # 自定义命令模板,可按需新增/删除条目
  local cmd_templates=(
    "model:generate --name SingularModelNameHere --attributes attribute1Name:datatype,attribute2Name:dataType"
    "seed:generate --name <descriptiveName>"
    "db:migrate"
    "db:migrate:undo"
    "db:migrate:undo:all"
    "db:seed:all"
    "db:seed:undo"
    "db:seed:undo:all"
    "init"
  )

  # 生成匹配当前输入的补全选项
  COMPREPLY=($(compgen -W "${cmd_templates[*]}" -- "$cur_input"))
  return 0
}

# 绑定补全函数到npx命令
complete -F _sequelize_cli_completions npx

步骤2:生效配置

执行以下命令让配置立即生效:

source ~/.bashrc

如果你使用zsh作为默认终端,把上面的代码添加到~/.zshrc后执行source ~/.zshrc即可。

使用说明

  • 输入npx sequelize-cli (末尾带空格)后按Tab,会列出所有预定义的命令模板,可直接选择补全
  • 输入npx sequelize-cli s后按Tab,会自动匹配到以s开头的seed:generate --name <descriptiveName>模板,按回车即可完成补全,之后直接修改占位符内容即可
  • 要新增自定义补全模板,只需往cmd_templates数组里添加对应的命令字符串即可,无需修改其他逻辑

注意事项

  • 如果之前已经为npx配置过其他补全规则,将上述函数内的sequelize-cli补全逻辑合并到原有补全函数即可,不要重复绑定complete到npx
  • 模板内的占位符补全后可直接选中修改,无需手动删除整段内容

内容的提问来源于stack exchange,提问作者Jay Spencer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:27:03