Chinalongforus/MvpAutoCodePlus
🔌An IDEA/Android Studio plug-in that automatically generates an MVP template code
⚡ MvpAutoCodePlus — Plugin sinh code MVP cho Android Studio/IntelliJ
Cài một lần, cấu hình interface cơ sở, sau đó generate toàn bộ bộ khung MVP (Contract, Presenter, Model, Activity/Fragment) cho feature mới chỉ trong vài giây — hỗ trợ cả Java lẫn Kotlin.
MvpAutoCodePlus là plugin JetBrains IDEA/Android Studio do longforus phát triển, giải quyết nỗi đau quen thuộc của lập trình viên Android dùng kiến trúc MVP: phải hand-code lặp lại các interface Contract, class Presenter, Model, Activity/Fragment mỗi khi thêm màn hình mới. Plugin cho phép khai báo một lần các interface cha (base interface) trong cài đặt — hỗ trợ cả cấu hình global và per-project — sau đó chuột phải vào package → Generate Mvp Code → nhập tên feature (ví dụ Login) → chọn ngôn ngữ (Java/Kotlin), loại View (Activity/Fragment), tuỳ chọn có sinh Model hay không → xong. Kết quả sinh ra theo cấu trúc package gọn gàng: ILoginContract, LoginActivity (hoặc LoginFragment), LoginPresenter (hoặc LoginViewModel nếu interface cha kết thúc bằng ViewModel), LoginModel.
✨ Điểm nổi bật
- Sinh Contract từ interface cha: Chỉ định parent interface → plugin tự tạo interface Contract với các method phù hợp.
- Sinh implementation cho 4 thành phần: Activity, Fragment, Presenter, Model — tự thêm default implementation cho abstract method.
- Song ngữ Java/Kotlin: Chọn ngôn ngữ đầu ra tại hộp thoại generate.
- View linh hoạt: Chọn Activity hoặc Fragment; bỏ check các thành phần không cần (ví dụ không muốn Model).
- Hỗ trợ ViewModel naming: Nếu parent interface của Presenter kết thúc bằng
ViewModel→ sinhLoginViewModelthay vìLoginPresenter. - Cấu hình 2 cấp độ: Global (dùng chung mọi project) và Project-level (chỉ project hiện tại) — thuận tiện khi làm nhiều codebase khác nhau.
- Tương thích rộng: Android Studio 3.1+ (build 173.*), IntelliJ IDEA Ultimate & Community.
💡 Vì sao đáng chú ý
Plugin tập trung giải quyết đúng pain point lặp lại của MVP setup mà không over-engineering: không ép buộc convention, không sinh layout XML (tác giả cũng ghi rõ chưa hỗ trợ), chỉ làm một việc và làm tốt — boilerplate reduction. Cách tiếp cận "cấu hình interface cha một lần, generate nhiều lần" phù hợp với team đã có base code riêng (BasePresenter, BaseView, BaseModel...). Việc hỗ trợ cả global và project-level config cho thấy tác giả hiểu workflow thực tế: nhiều project, nhiều base interface khác nhau. Điểm trừ nhỏ: generic type bounds trên interface cha vẫn phải thêm tay sau khi chọn (ví dụ <V extends IView, M extends IModel>), nhưng chỉ làm một lần khi setup. Với 174★ trên GitHub và có trên JetBrains Marketplace, đây là công cụ nhỏ gọn, thực dụng cho team Android duy trì codebase MVP.
#Android #MVP #AndroidStudioPlugin #IntelliJPlugin #Kotlin #Java #BoilerplateReduction #TiniX
Similar Projects
Discover other similar projects and AI models.
Context and template-based completion for conventional commits.
An IntelliJ platform plugin use for connecting Android device over WiFi
A CLI and an Intellij plugin for generating Clean Architecture boilerplate for Android projects.
用于在IDEA将Mybatis的SQL日志还原为可执行的SQL,Used to restore Mybatis SQL logs to executable SQL in IDEA,
arthas idea plugin 更简单的使用arthas的IDEA 插件,方便的构建各种arthas 命令,复制到剪切板 然后到服务器上启动arthas 执行命令。
This project is an Android Studio plugin version of BlackObfuscator, it supports obfuscating code automatically. More information about this project are in BlackObfuscator.
IDEA Plugin 插件开发可以帮助研发人员提升能效,解决一些实际场景中的共性问题。但最近在折腾IDEA插件开发的时候,市面的资料确实不多,也没有成体系完整的开发指导手册,所以就遇到了很多不知道就不会的事情,需要一点点查询搜索源码、验证API接口,最终把各项功能实现,当然在这个过程中也确实踩了不少坑!接下来在这个专栏会把一些关于 IDEA 插件开发用到的各项知识做成案例输出出来,帮助有需要的研发伙伴,一起建设 IDEA Plugin