文件重命名工具 - 通过预览图片/视频内容确定文件名,采用 Liquid Glass 设计风格
- Dart 60.2%
- C++ 20.8%
- CMake 16.4%
- Swift 1.4%
- C 1.2%
- 基于 Flutter 开发的桌面端图片/视频重命名工具 - 采用 Liquid Glass 设计风格 - 支持逐个重命名工作流程 - 支持亮色/深色主题切换 - 支持全部图片和视频格式 |
||
|---|---|---|
| docs/adr | ||
| lib | ||
| linux | ||
| macos | ||
| test | ||
| windows | ||
| .gitignore | ||
| .metadata | ||
| analysis_options.yaml | ||
| CONTEXT.md | ||
| pubspec.yaml | ||
| README.md | ||
文件重命名工具 (File Rename)
基于 Flutter 开发的桌面端图片/视频重命名工具,采用 Liquid Glass 设计风格。
核心理念
"看到内容 → 确定名称":用户通过预览图片/视频内容,然后根据视觉信息决定文件名。
功能特性
核心功能
- 逐个重命名:预览 → 编辑元数据 → 保存/跳过 → 下一张
- 元数据驱动:通过名称-值-后缀三字段拼接生成新文件名
- 文件名校验:检查合法性、重复文件名拒绝并提示
- 媒体预览:图片缩放/平移、视频逐帧拖动
快捷键
| 按键 | 功能 |
|---|---|
Enter |
保存更改 + 切换到下一张 |
↓ / → |
不保存 + 切换到下一张 |
↑ / ← |
切换到上一张 |
Ctrl+O |
选择目录 |
| 鼠标滚轮 | 缩放图片/视频(以鼠标位置为中心) |
UI 设计
- Liquid Glass 风格:半透明玻璃质感、模糊背景、流体动画
- 三栏布局:文件列表 | 预览区 | 元数据编辑器
- 响应式设计:宽屏三列、中屏两列、窄屏标签页
- 亮色/深色主题:一键切换
排序方式
- 文件名(默认)
- 创建时间
- 修改时间
文件类型
支持全部图片和视频格式(jpg、png、gif、mp4、avi、mkv 等 50+ 种格式)。
技术栈
- 框架:Flutter 3.32+
- 语言:Dart 3.8+
- 状态管理:Provider
- 目标平台:Windows
项目结构
lib/
├── main.dart # 应用入口
├── models/
│ ├── file_item.dart # 文件项模型
│ └── metadata_row.dart # 元数据行模型
├── services/
│ ├── file_service.dart # 文件扫描、排序、重命名
│ └── config_service.dart # 配置持久化(SharedPreferences)
├── providers/
│ └── app_state.dart # 应用状态管理(Provider)
├── theme/
│ └── app_theme.dart # Liquid Glass 主题(亮色/深色)
├── widgets/
│ ├── liquid_glass.dart # Liquid Glass 通用组件
│ ├── file_list.dart # 文件列表(左侧栏)
│ ├── preview_panel.dart # 预览面板(中间栏)
│ └── metadata_editor.dart # 元数据编辑器(右侧栏)
└── screens/
└── home_screen.dart # 主页面(响应式布局)
Windows 构建
环境要求
- Flutter 3.32+
- Visual Studio 2019 或更高版本(需要 C++ 桌面开发工作负载)
- Windows 10 或更高版本
构建步骤
# 1. 安装依赖
flutter pub get
# 2. 运行调试版本
flutter run -d windows
# 3. 构建发布版本
flutter build windows
构建产物
构建完成后,可执行文件位于:
build\windows\x64\runner\Release\file_rename.exe
打包为安装程序
可以使用以下工具将构建产物打包为安装程序:
- Inno Setup:免费、轻量级
- NSIS:开源、功能强大
- MSIX:微软官方打包格式
开发
添加新功能
- 在
lib/models/中添加数据模型 - 在
lib/services/中添加业务逻辑 - 在
lib/widgets/中添加 UI 组件 - 在
lib/providers/app_state.dart中管理状态
主题定制
编辑 lib/theme/app_theme.dart 文件中的颜色常量。
添加新的快捷键
在 lib/screens/home_screen.dart 的 _handleKeyEvent 方法中添加。