mirror of
https://github.com/wth461694678/text-block-timer.git
synced 2026-07-22 05:46:04 +00:00
1. **==Critical Bug Fix==**: Fixed the undo history pollution issue — timer real-time updates no longer pollute the editor's undo/redo stack. (Thanks to [mosmash](https://github.com/mosmash) for reporting!) 2. **Timer Style Optimization**: Redesigned the timer rendering style; added option to hide hours digit for shorter durations. 3. **==New Feature==**: Added Time Adjustment function with an iPhone-style scroll wheel time picker UI, accessible via right-click menu and command palette, fully compatible with mobile. 4. Closed issues: [#12](https://github.com/wth461694678/text-block-timer/issues/12), [#11](https://github.com/wth461694678/text-block-timer/issues/11), [#7](https://github.com/wth461694678/text-block-timer/issues/7)
8.4 KiB
8.4 KiB
文本块计时器插件
一个为Obsidian设计的文本块计时工具,可以在笔记中为任意文本行添加正计时功能。
最新变更 (V1.0.9)
- 重大Bug修复:修复了 undo 历史污染问题 — 计时器的实时更新不再污染编辑器的撤销/重做历史栈。感谢 mosmash 提供解决方案并提交 Pull Request!
- 什么是 undo 污染? 此前,计时器每秒更新一次时间显示,每次更新都会被编辑器记录为一次文本变更。这导致按下
Ctrl+Z撤销时,撤销的是计时器的更新而非用户的实际文本编辑,使得撤销功能在计时器运行期间几乎无法正常使用。
- 什么是 undo 污染? 此前,计时器每秒更新一次时间显示,每次更新都会被编辑器记录为一次文本变更。这导致按下
- 计时器外观优化:重新设计了计时器渲染样式,外观更加简洁;移除了计时器标签前后多余的空格,显示更紧凑。新增隐藏小时数选项,针对较短耗时可以省略小时位显示(例如显示
05:30而非00:05:30)。 - 新功能:耗时调整:新增 iPhone 风格的滚轮式时间选择器 UI,可通过右键菜单或命令面板快速调整计时器耗时,完全兼容移动端。
本次版本关闭的 Issue:
- #12 [Bug Report] Text Block Timer: Ctrl+Z — 来自 p0nczek
- #11 [Feedback/Suggestion] Hiding HTML in Callouts & Custom Time Formatting — 来自 p0nczek
- #7 Hope to add the function of ending the timer — 来自 kyle-one
🙏 在此对长时间未更新表示诚挚的歉意 — 由于工作和生活繁忙,更新中断了一段时间。感谢各位的耐心等待和持续支持!
功能特性
- 为任意文本行添加计时器,支持同时执行多个计时器(正计时)
- ▶️/⏸️ 支持开始、暂停、继续计时,支持任务分段耗时累计
- ⏳ 实时显示累计时间
- 💾 计时数据持久化保存
- 🔄 可自由选择关闭文件、关闭Obsidian后是否持续计时 (默认设置下,关闭文件不会导致实时计时失效)
- 修改任务状态,可以自动触发计时器的开始和更新
使用方法
1. 命令行+快捷键(推荐⭐️)
- 为命令 "Text Block Timer: Toggle timer" 配置快捷键,方便快速使用
- 当光标在某个文本块时,按下快捷键,即可实现timer的开始、暂停、继续、删除操作
- 计时器会以
【⏳00:00:00 】格式显示在文本块的行首
2. 鼠标操作(不推荐)
- 在文本行上右键点击
- 选择"开始计时"、"暂停计时"、"继续计时"、"删除计时器"
3. 通过任务状态自动控制(推荐⭐️)
- 对于所有用户,可以直接通过修改特定任务前 [ ] 的状态来控制计时器的开关 (对所有用户都有效,但是不推荐,Windows用户操作起来比较麻烦)
- ⭐️对于
Task Plugin用户而言,通过恰当的设置,只需要点击任务前的 [ ] 即可完成控制 ()
自定义设置
用户可以在插件设置中自定义以下选项:
1. 关闭文件或Obsidian后是否继续计时
用户可以自由选择关闭文件或关闭Obsidian后是否继续计时。
1.1 从不停止,除非用户手动停止
用户关闭文件、退出Obsidian后,计时器依然会“后台计时”,在下次打开文件时,会讲关闭期间的耗时计入计时器耗时,并自动恢复计时。
1.2 仅退出Obsidian时停止,关闭文件依然后台计时(推荐,默认选项)
用户关闭文件后,计时器依然会“后台计时”,在下次打开文件时,会讲关闭期间的耗时计入计时器耗时,并自动恢复计时。 然而,用户退出Obsidian后,所有计时器会立即停止,防止用户忘记手动关闭计时器导致数据产生重大误差。
1.3 关闭文件时立即停止
用户关闭文件后,所有计时器会立即停止,但在误关文件时,可能导致计时暂停。
2. 插入位置
用户可以选择在文本块的前面或后面插入计时器标签。对于Day Planner用户而言,推荐插入在文本块后面。
3. 通过任务状态自动控制计时器 - 路径控制
在默认设置下,路径控制是关闭的。当你只希望在部分文件夹下使用该功能,你可以通过白名单或黑名单的方式进行控制,这两种方式只会生效其中一种。
版本日志:
- V1.0.9
- V1.0.8
- 外观优化:增加计时器emoji自定义功能,现在你可以使用喜欢的图标来分别表示运行和暂停状态了
- V1.0.7
- ==重大优化==:解决obsidian切回前台时可能出现的卡顿问题,显著提升了该场景的性能。
- V1.0.6
- BUG修复:解决了语言配置代码错误导致启动失败问题
- V1.0.5
- ==重大功能==:该插件现在已经支持Mobile端使用!
- ==重大优化==:增加只读模式支持,现在只读模式也可实时更新计时器并持久化数据
- ==重大功能==:增加了删除计时器功能,删除计时器可通过命令行或右键菜单使用
- Timer块瘦身计划大成功!:V1.0.5版本Timer块长度大幅削减60%
- BUG修复:修复了计时超过24小时后时间展示不正确问题
- V1.0.4
- ==重大功能==:现在你可以通过任务前的 [ ] 勾选框来控制计时器的开关
- 优化了新建计时器的功能,现在不会直接暴露span源代码
- V1.0.3
- ==重大优化==:现在关闭文件不会导致计时器失效,用户可自由选择关闭文件或关闭Obsidian后是否持续计时(见自定义设置)
- 增加自定义设置:现在用户可自由选择插入文本块位置(文本前或文本后)
- 优化对Markdown的处理逻辑,增加对有序复选框、标题的支持
- V1.0.2
- 增加了对中文、英文、日语、韩语的语言支持
- V1.0.1
- 优化展示效果,在时间标签前添加了一个空格。
- 解决了在任务清单中添加计时器,导致任务勾选框失效的问题。
- V1.0.0
- 插件发布
开发信息
- 开发者: frankthwang
- 版本: 1.0.9










