用户可通过该项目进行任务管理与番茄钟计时,提升学习工作效率。它支持任务增删查改、标签分类、番茄计时、统计分析及 CSV 导出,采用线程实现后台计时,数据持久化存储。【此简介由AI生成】
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 |
Rust番茄学习时钟
这是一个演示用的轻量 CLI 应用,用 Rust 实现的番茄钟任务管理器。功能包括:
- 任务管理(add/list/done/rm/search)
- 标签(#tag 语法)
- 持久化为
todos.json - 番茄钟计时(start <id|last> [duration],支持 m/min 和 s 单位,默认 25 分钟)
- 统计(stats <id|last>)
- 导出 CSV(export csv )
- 清理脏数据(clean)
快速试用
- 构建并运行:
cd /d D:\Users\Yu\Desktop\Rust\hello_rust
cargo build
# 在 cmd 中以 UTF-8 运行交互以正确显示中文:
cmd /c "chcp 65001 >nul && .\\target\\debug\\hello_rust.exe"
- 快速命令:
add 学习 Rust #学习liststart last 3s(启动最后添加任务的 3 秒计时用于测试)stats lastexport csv out.csvcleansave/loadexit
文件
src/main.rs:程序主逻辑todos.json:存储的任务数据(自动读写)demo_export.txt:演示脚本(可重定向到程序 stdin)
说明
- 目前后台计时使用标准线程
std::thread::spawn,适合演示线程与持久化概念;如需支持取消或更复杂的调度,可改用tokioruntime 并实现取消 token。
快捷命令示例(学习相关)
下面列出一组更贴近学习/制作视频场景的示例命令,包含注释说明和更多用法,便于直接在演示或录屏时使用:
-
添加任务(支持多个标签,标签以
#开头):add 学习 Rust 所有权和借用 #学习 #rustadd 复习异步 Rust 教程 #学习 #asyncadd 看视频脚本草稿 #工作 #脚本 #视频
-
列表(过滤):
list—— 列出所有任务(默认)list todo—— 只列出未完成的任务list done—— 只列出已完成的任务list tag 学习—— 只列出带#学习标签的任务
-
标记完成 / 删除 / 标记:
done <id>—— 将指定 id 的任务标记为完成(可使用last代替最近的一条)done last—— 标记最近添加的任务为完成rm <id>—— 删除指定 id 的任务
-
搜索与保存/加载:
search 所有权—— 在标题与标签中搜索关键字save—— 手动把当前内存写入todos.jsonload—— 从todos.json重新加载(覆盖当前内存)
-
番茄计时与统计(演示用短时镜头):
start last 3s—— 启动最近任务的 3 秒计时(用于演示)start <id> 25m—— 启动指定任务的 25 分钟计时stats last—— 显示最近任务的番茄统计和会话时间
-
导出与清理:
export csv out.csv—— 把当前任务导出为 CSV(包含 sessions)clean—— 清理包含脏字符或特定模式的任务(例如问号垃圾)并保存
-
可选 HTTP API(在后台启动):
serve 8080—— 在 8080 端口启动可选的 REST API(如果已启用 serve 功能)- 演示建议:先在一个终端
serve 8080,另一个终端用curl或浏览器请求接口,展示 API 与 CLI 的协同。
- 演示建议:先在一个终端
-
组合示例(按录屏流程):
- 添加几个学习任务:
add 学习 Rust 所有权 #学习 #rustadd 阅读 async book 第 3 章 #学习 #async
- 启动短计时用于演示:
start last 5s
- 查看统计并导出:
stats lastexport csv demo_out.csv
- 标记完成并保存:
done lastsave
- 添加几个学习任务:
演示(将 demo 脚本重定向到 stdin):
# 在 cmd 中以 UTF-8 运行并把 demo_pomo.txt 作为输入:
cmd /c "chcp 65001 >nul && .\\target\\debug\\hello_rust.exe < demo_pomo.txt"