TodoList 待办事项管理应用
一个基于 C# WPF 开发的轻量、高效桌面待办事项管理应用,专注于通过全局快捷键提供极致的快速记录体验。
🚀 功能特点
核心功能
- 全局快捷键快速记录:支持系统级全局快捷键(如
Ctrl + Alt + A),随时唤起记录窗口 - 优先级管理:支持高、中、低三种优先级设置,通过颜色直观区分
- 任务状态跟踪:清晰标记任务完成状态,默认隐藏已完成任务
- 本地数据持久化:使用 SQLite 数据库保存数据,支持完全离线使用
技术特性
- 响应式界面:基于 WPF 构建的现代化用户界面
- MVVM 架构:采用 CommunityToolkit.Mvvm 实现清晰的架构分层
- 自包含发布:支持单文件发布,无需额外依赖
- 一键打包:内置自动构建和打包脚本
🛠️ 技术栈
- 开发语言:C# 10+
- UI 框架:WPF (Windows Presentation Foundation)
- 目标框架:.NET 8.0
- 架构模式:MVVM (Model-View-ViewModel)
- 数据存储:SQLite (sqlite-net-pcl)
- 打包工具:Inno Setup 6
- 依赖管理:NuGet
📦 安装与使用
直接安装
- 从
Output目录下载最新的安装包:TodoList_Setup_vX.X.X.exe - 双击运行安装程序,按照提示完成安装
- 启动应用后,在系统托盘找到应用图标
使用说明
- 快速记录:按下预设的全局快捷键(默认为
Ctrl + Alt + A) - 添加任务:在快速记录窗口中输入任务内容,设置优先级,按 Enter 保存
- 管理任务:在主界面中查看、编辑和标记任务完成状态
- 隐藏完成任务:默认自动隐藏已完成任务,可通过界面开关显示
🔧 开发指南
环境要求
- Visual Studio 2022 或更高版本
- .NET 8.0 SDK
- Inno Setup 6(用于打包)
快速开始
-
克隆或下载项目
git clone <仓库地址> cd TodoList -
打开项目
- 使用 Visual Studio 打开
TodoList.slnx解决方案 - 或直接打开
TodoList/TodoList.csproj项目文件
- 使用 Visual Studio 打开
-
安装依赖
dotnet restore -
运行项目
dotnet run --project TodoList/TodoList.csproj
构建与发布
使用内置的发布脚本进行一键构建和打包:
cd TodoList/TodoList
powershell -ExecutionPolicy Bypass -File "BuildSetup.ps1"
脚本功能:
- 自动递增版本号
- 更新项目文件和安装脚本版本
- 编译 Release 版本
- 生成单文件可执行文件
- 创建安装程序(输出到
Output目录)
📁 项目结构
TodoList/
├── TodoList/ # 主项目目录
│ ├── Models/ # 数据模型
│ ├── Services/ # 服务层(数据访问、快捷键等)
│ ├── ViewModels/ # 视图模型
│ ├── Views/ # 界面视图
│ ├── TodoList.csproj # 项目文件
│ ├── BuildSetup.ps1 # 发布脚本
│ └── setup.iss # Inno Setup 安装脚本
├── TodoList.slnx # 解决方案文件
├── PRD.md # 产品需求文档
└── README.md # 项目说明文档
🎯 核心模块说明
QuickEntryWindow
快速记录窗口,通过全局快捷键唤起,提供极简的任务输入体验。
MainWindow
主界面,展示任务列表,支持任务管理和状态切换。
GlobalShortcutService
全局快捷键服务,负责注册和监听系统级快捷键。
SqliteDataService
SQLite 数据服务,实现本地数据持久化。
🔄 版本更新
版本策略
- 采用语义化版本号:
MAJOR.MINOR.PATCH - 每次运行发布脚本自动递增 PATCH 版本
更新日志
| 版本 | 日期 | 描述 |
|---|---|---|
| 1.0.17 | 2024-01-XX | 修复发布脚本和安装路径问题 |
| 1.0.16 | 2024-01-XX | 完善任务优先级显示 |
| 1.0.0 | 2024-01-XX | 初始版本发布 |
🤝 贡献指南
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
📞 联系方式
- 项目作者:ShaoHua
- 项目地址:https://git.we965.cn/Tools/TodoList
TodoList - 让任务管理更高效!
Description
Languages
C#
91.5%
Inno Setup
4.3%
PowerShell
4.2%