vkit
用 Rust + ratatui 重写的 vkit CLI 快速伴生工具(二进制与命令均为 vkit,源码仓库为 vkit-rs)。目标:把「唤起 → 交互 → 退出」的秒级命令做到极致启动速度(Node + Ink 冷启动约 80–150ms,Rust 二进制约几 ms)。
独立于 vkit 主仓的实验 / 学习项目,与其并存、互不干扰。
命令
| 命令 | 说明 | 平台 |
|---|---|---|
vkit |
无参数进入入口菜单(dashboard),选择要用的工具 | 跨平台 |
vkit port |
列出正在监听的 Node 端口及进程,多选一键关闭 | 仅 macOS |
vkit run |
扫描当前目录及子包的 package.json,过滤 + 多选批量运行 scripts |
跨平台 |
vkit vsix |
从 Marketplace 下载 VSIX 并安装到 Cursor / VS Code | 跨平台 |
vkit sync |
把 VS Code 已装扩展批量同步到 Cursor | 跨平台 |
vkit preview |
一屏预览所有主题色与组件样式(校色用) | 跨平台 |
dashboard 键位:↑/↓ 选择 · Enter 进入 · 1-9 直达 · ? 帮助(列出子命令)· q 退出。
所有选择列表均支持环形移动:在第一项按 ↑ 跳到最后一项,在最后一项按 ↓ 回到第一项。
配色为 Everforest 风格低饱和主题:绿色作主强调(标题 / logo / 按键 / 聚焦边框),黄色表示勾选 / 选中,橙色表示光标行,绿色另用于成功状态(如状态 ✓);边框统一走弱化色。启动时按终端背景自动切换深/浅色(探测失败默认深色)。所有选择列表的未选中标题、描述、勾选样式与光标高亮均统一。
安装
# 从 crates.io 安装(需要 Rust 工具链)
或从 Releases 下载对应平台的预编译二进制(macOS / Linux),解压后把 vkit 放进 PATH。
从源码安装
需要 Rust 工具链。
# 从源码安装到 ~/.cargo/bin
# 或直接构建后自行软链
开发
port 键位
↑ / ↓:移动光标/:进入搜索模式(端口号 / 进程名 / 完整命令;Enter回列表,Esc清空)Space:勾选 / 取消当前行A:全选 / 全不选(当前搜索范围)Enter:关闭选中项(未勾选时关闭当前行)——弹出二次确认(Y确认 /n取消 /Esc返回)R:重新扫描刷新q/Esc:退出;Ctrl+C退出
关闭进程:确认后在后台线程执行并显示 loading(spinner),先 SIGTERM 优雅退出,3 秒未退再 SIGKILL 强制,完成后就地刷新。
run 键位
双栏主从布局:左栏包列表,右栏当前包的 scripts。
包栏(左)
↑ / ↓:切换包→/l/Tab:进入右侧 scripts1-9:跳到第 N 个包并进入其 scripts
Scripts 栏(右)
↑ / ↓:移动光标(光标行显示→ 命令)←/h:回到包栏Space:勾选 / 取消当前 scriptA:全选 / 全不选本包 scripts
通用
Enter:运行——有勾选则跨包批量顺序运行,否则运行光标所在 script/:进入搜索模式(包名 / script / 命令;Enter回列表,Esc清空)R:重新扫描刷新q/Esc:退出;Ctrl+C退出
发现范围:从当前目录递归扫描所有 package.json(尊重 .gitignore,跳过 node_modules/dist/target 等),当前目录所属包排在最前并标 *,包名后括号内为已勾选数。嵌套子包显示为 父包 -> 子包。包管理器按 packageManager 字段 → lock 文件逐级向上探测(默认 npm)。运行时会临时挂起 TUI,把终端完整交给子进程(继承 stdio,适配 dev 这类长驻进程),结束后回到界面并显示退出码。
vsix 键位
两步流程:输入扩展 → 下载 → 选编辑器安装。
- 输入:键入扩展 id(
publisher.name)或 Marketplace 链接;Enter查询最新版本并下载到~/Downloads;Esc退出。 - 选编辑器(下载完成后自动进入,若检测到
cursor/code):↑/↓移动 ·Space选择 ·A全选 ·Enter安装 ·Esc跳过。
下载走 Marketplace 的 extensionquery(查最新版本)+ vspackage(带 gzip 自动解压),安装用 <editor> --install-extension。Ctrl+C 随时退出。
sync 键位
把 VS Code 已装扩展批量同步到 Cursor(方向固定 VS Code → Cursor)。
- 进入后自动读取两个编辑器的
--list-extensions,算出 Cursor 尚缺的插件。 - 选择:左右双栏布局——左栏「待安装」展示 Cursor 尚缺、可多选的插件(checkbox + 光标高亮,焦点常驻),右栏「已安装」只读展示已在 Cursor 里的插件(弱化样式、前缀 ✓)。键位:
↑/↓移动 ·Space选择 ·A全选 ·Enter下一步 ·Esc退出(默认全选缺失项)。 - 确认:
Enter开始 ·Esc返回修改。 - 同步中:逐个下载 vsix 到临时目录并安装,实时显示进度与每项状态;完成后展示成功/失败汇总,
Enter/q返回。
前置:需要 code 与 cursor 两个命令都在 PATH(在各自编辑器里执行「Shell Command: Install 'xxx' command in PATH」)。