flutter_chen_generator 1.3.1
flutter_chen_generator: ^1.3.1 copied to clipboard
A comprehensive Flutter code generation toolkit for assets, icons and more.
Flutter Chen Generator #
🚀 一个强大的Flutter代码生成工具包,包含多个实用的代码生成器。
✨ 功能特性 #
📁 资源生成器 (Assets Generator) #
- 🔄 自动扫描assets目录并生成Dart常量
- 🧠 智能驼峰命名转换,保持原有驼峰格式
- 🔧 处理文件命名冲突(同名不同扩展名)
- 📝 自动更新pubspec.yaml配置
🎨 图标字体生成器 (IconFont Generator) #
- 📄 解析iconfont.json文件自动生成Dart图标常量
- 🏷️ 智能命名转换(支持横线转驼峰)
- 🔧 支持多种JSON格式(iconfont.cn、自定义格式等)
- 🎯 类型安全的IconData常量
📱 ScreenUtil适配生成器 (ScreenUtil Generator) #
- 🔍 智能扫描Dart文件中的数值属性
- 🎯 自动添加合适的ScreenUtil后缀 (.w, .h, .sp, .r)
- 🧠 智能识别属性类型(宽度、高度、字体、圆角)
- 📦 自动添加ScreenUtil依赖导入
⚙️ 配置管理 #
- 📄 支持YAML配置文件 (
flutter_chen_generator.yaml
) - 🏆 配置优先级:命令行参数 > YAML配置 > 默认配置
- 🎛️ 分模块配置,每个生成器独立配置
- 🔧 一键生成示例配置文件
🚀 快速开始 #
安装 #
# 方式一:全局安装
dart pub global activate flutter_chen_generator
# 使用工具
flutter_chen_generator assets/iconfont/screenutil
# 方式二:项目依赖安装
# pubspec.yaml
dev_dependencies:
flutter_chen_generator: latest version
# 使用工具
dart run flutter_chen_generator assets/iconfont/screenutil
基本使用 #
# 创建配置文件
flutter_chen_generator init
# 生成资源文件
flutter_chen_generator assets
# 生成图标字体
flutter_chen_generator iconfont
# 添加ScreenUtil适配
flutter_chen_generator screenutil
# 查看帮助
flutter_chen_generator --help
配置文件支持 #
创建 flutter_chen_generator.yaml
配置文件:
# 创建默认配置文件
flutter_chen_generator init
# 创建到指定路径
flutter_chen_generator init --output my_config.yaml
示例配置文件:
# 资源生成器配置
assets:
assets-dir: assets
output: lib/generated/assets.dart
class-name: Assets
short-naming: true
# 图标字体生成器配置
iconfont:
input: assets/fonts/iconfont.json
output: lib/generated/iconfont.dart
class-name: IconFont
font-family: ComIcon
# ScreenUtil适配生成器配置
screenutil:
input: lib
ignore:
- build/
- test/
- generated/
dry-run: false
verbose: false
配置优先级 #
工具支持三层配置优先级:
- 命令行参数(最高优先级)
- YAML配置文件
- 默认配置(最低优先级)
# 命令行参数会覆盖配置文件中的设置
flutter_chen_generator assets --output lib/my_assets.dart
直接使用特定生成器 #
# 资源生成器
flutter_chen_assets --output lib/assets.dart
# 图标字体生成器
flutter_chen_iconfont --input assets/fonts/icons.json
# ScreenUtil适配生成器
flutter_chen_screenutil --input lib --dry-run
📖 详细文档 #
- 📁 资源生成器使用指南
- 🎨 图标字体生成器使用指南
- 📱 ScreenUtil适配生成器使用指南
- ⚙️ 配置文件详细说明
- 📖️ 使用详细说明
🎯 配置文件查找规则 #
工具会按以下顺序自动查找配置文件:
- 指定的配置文件路径(如果提供)
- 当前目录下的
flutter_chen_generator.yaml
- 项目根目录(包含pubspec.yaml的目录)下的
flutter_chen_generator.yaml
💡 使用技巧 #
1. 团队协作配置 #
# 将配置文件提交到版本控制
git add flutter_chen_generator.yaml
git commit -m "feat: add code generator config"
2. 环境相关配置 #
# 开发环境使用详细输出
flutter_chen_generator screenutil --verbose
# 生产环境使用预览模式
flutter_chen_generator screenutil --dry-run
3. CI/CD 集成 #
# .github/workflows/flutter.yml
- name: Generate Code
run: |
flutter_chen_generator assets
flutter_chen_generator iconfont
flutter_chen_generator screenutil --dry-run # 预览模式检查
4. 批量处理 #
# 按模块分别处理
flutter_chen_generator assets
flutter_chen_generator iconfont
flutter_chen_generator screenutil --input lib/pages
flutter_chen_generator screenutil --input lib/widgets
🔮 未来计划 #
- 🌐 国际化脚本: 自动项目国际化、导入导出excel
🛠️ 开发 #
# 克隆仓库
git clone https://github.com/Er-Dong-Chen/flutter_chen_generator.git
# 安装依赖
dart pub get
# 运行测试
dart test
# 本地运行
dart bin/flutter_chen_generator.dart --help
# 本地测试配置文件
dart bin/flutter_chen_generator.dart init
🤝 贡献 #
欢迎提交Issue和Pull Request!
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 打开Pull Request
📄 许可证 #
MIT License - 查看 LICENSE 文件了解详情
⭐ 如果这个工具对你有帮助,请给个星标支持一下!