flutter_chen_generator 1.3.1 copy "flutter_chen_generator: ^1.3.1" to clipboard
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

配置优先级 #

工具支持三层配置优先级:

  1. 命令行参数(最高优先级)
  2. YAML配置文件
  3. 默认配置(最低优先级)
# 命令行参数会覆盖配置文件中的设置
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

📖 详细文档 #

🎯 配置文件查找规则 #

工具会按以下顺序自动查找配置文件:

  1. 指定的配置文件路径(如果提供)
  2. 当前目录下的 flutter_chen_generator.yaml
  3. 项目根目录(包含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!

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开Pull Request

📄 许可证 #

MIT License - 查看 LICENSE 文件了解详情


⭐ 如果这个工具对你有帮助,请给个星标支持一下!

3
likes
145
points
44
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive Flutter code generation toolkit for assets, icons and more.

Repository (GitHub)
View/report issues

Topics

#generator #codegen #tools #build #cli

Documentation

API reference

License

MIT (license)

Dependencies

analyzer, args, path, yaml

More

Packages that depend on flutter_chen_generator