# idea-plugin-achievement **Repository Path**: BigDeng_Hh/achievement-plugin ## Basic Information - **Project Name**: idea-plugin-achievement - **Description**: 一个专注于开发IDEA插件的开源项目,旨在提升开发者成就管理效率,支持多种成就记录与展示功能。 - **Primary Language**: Kotlin - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-09-27 - **Last Updated**: 2025-10-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: 开源 ## README # 🏆 代码成就插件 (Code Achievement Plugin) 让写代码变得更有意思的IntelliJ IDEA插件。统计你的代码行数,解锁各种成就徽章,还能生成编码报告。 [![Build](https://img.shields.io/badge/build-passing-brightgreen)]() [![Version](https://img.shields.io/badge/version-1.2.0-blue)]() [![License](https://img.shields.io/badge/license-Apache%202.0-orange)]() [![Platform](https://img.shields.io/badge/platform-IntelliJ%20IDEA-red)]() ## 功能特性 ### 📊 代码统计 - 自动统计每天写了多少行代码 - 支持40多种编程语言 - 按语言分类统计 - 可以看累计和今日的对比 - 状态栏实时显示 ### ⚙️ 个性化设置 让插件完全适合你的编码习惯: - **📢 通知控制**:开关成就通知、弹窗提醒、工作时间限制 - **📊 状态栏格式**:简洁/详细/进度/自定义四种显示模式 - **🎨 主题色彩**:蓝色海洋/绿色森林/紫色梦境三套配色 - **🏆 成就难度**:新手/普通/困难/地狱四个难度等级 - **⏰ 工作时间**:自定义工作时间段,避免非工作时间干扰 - **💪 健康提醒**:连续编程提醒、休息建议功能 ### 🧠 智能推荐 AI驱动的个性化成就推荐系统: - **📈 习惯分析**:分析你的编码模式(日均代码量、高峰时段、常用语言) - **🎯 精准推荐**:优先推荐进度>50%的成就,避免盲目追求 - **⚡ 优先级分级**:立即可达/今天内/本周内/长期目标四个等级 - **💡 行动建议**:具体的实现建议和预估完成时间 - **🔄 动态更新**:根据编码进展实时调整推荐策略 ### 📤 数据导出分享 让你的编程成果可以分享和备份: - **📄 多格式导出**:JSON/CSV/Markdown三种数据格式 - **🎨 精美分享卡片**:成就分享卡、日度总结卡、年度报告卡 - **📊 可视化报告**:专业的年度编程报告,支持多主题色彩 - **💾 数据备份**:完整的编程历史数据导出功能 ### 🏅 成就系统 65个成就徽章,分成7大类: #### 🎯 里程碑成就 (编码量) - 🔥 热身完毕: 一天新增 100 行 - ⌨️ 键盘起飞: 一天新增 300 行 - 💪 爆肝工程师: 一天新增 500 行 - 📖 传说的千行: 一天新增 1000 行 - 🎨 百行挑战: 累计 100 行 - 🚀 千行大神: 累计 1000 行 - 💎 万行传说: 累计 10,000 行 - 👑 十万行之巅: 累计 100,000 行 #### ♻️ 重构成就 (代码删除) - 🗑️ 初次重构: 一天删除 50 行 - 🧹 大扫除: 一天删除 200 行 - 💣 删库跑路: 一天删除 1000 行 - ✨ 重构大师: 累计删除 5000 行 - 🔥 代码清道夫: 累计删除 10,000 行 #### ⏰ 时间成就 (编程时段) - 🌅 早起鸟儿: 早上 6:00-9:00 编码 ≥100 行 - 🌙 夜猫子: 晚上 22:00-2:00 编码,累计 500 行 - 🦉 深夜程序员: 晚上 22:00-2:00 编码,累计 1000 行 - 👻 午夜幽灵: 晚上 22:00-2:00 编码,累计 5000 行 - 📅 周末战士: 周末单日编码 ≥300 行 #### 📆 连续性成就 (坚持编程) - 🔥 连续编码第一天: 好的开始! - 🌱 连续三天: 连续编码 3 天 - 🔥 一周坚持: 连续编码 7 天 - ⚡ 连续十天: 连续编码 10 天 - 💪 月度坚持: 连续编码 30 天 - 💯 百日筑基: 连续编码 100 天 - 🏆 年度勇士: 连续编码 365 天 #### 🌈 语言成就 (多语言编程) - 🎯 单语精通: 单一语言累计 1000 行 - 🌐 双语达人: 使用 2 种语言 - 🗣️ 三语通晓: 使用 3 种语言 - 🌍 多语大师: 使用 5 种语言 - 🎭 语言收集家: 使用 10 种语言 #### 🎪 趣味彩蛋成就 - 🐛 Bug收割机: 一天内写下TODO/FIXME注释≥5次 - 💾 Ctrl+S信徒: 一天保存≥200次 - 📋 Copy-Paste大师: 一天粘贴代码≥100次 - 🔄 IDEA重启侠: 一天重启IDEA≥5次 - 📜 console.log教徒: 打印日志≥50次 #### 🔥 网络热梗成就 - 🏀 鸡你太美: 频繁切换窗口编写代码 - 🚨 有内鬼,终止交易: 发现严重bug后紧急回滚 - ✨ 绝绝子: 一天内解锁3个以上成就 - 🤷‍♂️ 又不是不能用: 写出勉强能跑的代码 - 😱 细思极恐: 写出复杂度过高的代码 - 😵 麻了: 连续遇到5个以上编译错误 - 🤣 蚌埠住了: 写出让人无语的代码 - 😭 纯纯大怨种: 深夜加班写代码到凌晨3点 - 💔 破防了: 自己的代码被别人大量重构 - 💥 艺术就是爆炸: 一次性删除500行以上代码 - 👑 YYDS永远的神: 连续30天每天都有代码提交 - 📞 出什么事了: 紧急修复线上bug - 😳 社死: 在代码注释中写了奇怪的内容 - 🛏️ 躺平: 一周内代码量少于10行 - 🌀 内卷之王: 周末写代码超过工作日 ### 📈 智能报告系统 - 📊 日报: 查看今日编码情况、语言分布、解锁成就 - 📅 周报: 本周统计、活跃天数、趋势分析、智能总结 - 📆 月报: 月度总结、活跃度分析、编码习惯洞察 - 💡 编码格言: 每份报告都有精选的编程格言 - 🎯 一键生成: 通过菜单快速访问各类报告 ### 🎨 现代化UI设计 - ✨ **暗色主题**: 护眼舒适的深色配色方案 - 🎨 **渐变效果**: 精美的渐变卡片设计,层次分明 - 💫 **动画反馈**: 流畅的悬停动画和视觉反馈 - 🌟 **光影层次**: 阴影、高光、描边营造立体感 - 🔥 **特效动画**: 今日成就卡片带有脉动火焰特效 - 📊 **数据可视化**: 表格化展示语言统计,一目了然 - 🎯 **分类面板**: 成就按类别分组展示,支持标签切换 ## 🚀 安装教程 ### 方式一: 从源码构建 ```bash # 克隆仓库 git clone https://gitee.com/your-repo/idea-plugin-achievement.git cd idea-plugin-achievement # 构建插件 ./gradlew buildPlugin # 插件包位置 # build/distributions/idea-plugin-achievement-1.0-SNAPSHOT.zip ``` ### 方式二: 直接安装 1. 打开 IntelliJ IDEA 2. 进入 `File` → `Settings` → `Plugins` 3. 点击 ⚙️ → `Install Plugin from Disk...` 4. 选择 `idea-plugin-achievement-1.0-SNAPSHOT.zip` 5. 重启 IDEA ## 📖 使用说明 ### 🚀 快速开始 安装插件并重启 IntelliJ IDEA 后,插件会自动开始工作: 1. **状态栏小部件**自动出现在底部状态栏,显示今日统计 2. 开始编写代码,插件会**自动追踪**所有代码变更 3. 解锁成就时会弹出**气球通知**提醒 ### 📊 查看统计数据 #### 方式一:状态栏快捷入口 - 底部状态栏显示: `📊 今日: +X -Y` - 鼠标悬停查看详细信息 - **点击**打开完整统计面板 #### 方式二:菜单访问 - 菜单路径: `Tools` → `Show Code Statistics` - 快捷键: 可在设置中自定义 ### 📈 统计面板功能 #### 今日统计标签 - 📊 **数据卡片**: 显示今日新增、删除、净增行数 - 📋 **语言分布表**: 各编程语言代码量统计 - 🎯 **智能摘要**: 动态生成今日编码总结 - 📝 **报告生成**: 点击按钮快速生成日报/周报/月报 #### 成就墙标签 - 🏆 **总体进度**: 显示已解锁成就数量和完成度 - 🔥 **今日成就**: 高亮展示今天新解锁的成就(带动画特效) - 📂 **分类浏览**: 按类别查看所有成就 - 里程碑、重构、时间、连续性、语言、彩蛋 - 🔒 **锁定状态**: 未解锁成就显示为灰色,提示解锁条件 ### 📝 生成报告 #### 访问路径 菜单: `Tools` → `Code Reports` → 选择报告类型 #### 报告类型 1. **日报 (Daily Report)** - 今日代码统计 - 语言分布 - 解锁成就列表 - 总体进度 - 编程格言 2. **周报 (Weekly Report)** - 本周代码总量 - 日均新增统计 - 语言分布分析 - 本周解锁成就 - 智能总结 3. **月报 (Monthly Report)** - 本月代码总量 - 活跃天数统计 - 日均产出分析 - 语言分布趋势 - 月度成就回顾 - 编码习惯分析 ### 🏆 成就解锁机制 #### 自动检测 - 插件实时监控代码变更 - 达到条件后**自动解锁**成就 - 弹出气球通知,显示成就信息 #### 触发时机 - ✍️ 保存文件时统计代码行数 - 🕐 项目启动时检查连续编码天数 - 🎯 关键操作时触发特殊成就检测 ### 💾 数据说明 #### 数据存储 - 位置: 项目目录 `.idea/code-stats.xml` - 格式: XML 持久化存储 - 范围: 每个项目独立统计 #### 数据内容 - 每日代码统计(新增、删除、净增、语言) - 累计代码总量 - 连续编码天数 - 已解锁成就列表 - 首次编码日期 #### 数据管理 - 自动保存,无需手动操作 - 跨会话持久化 - 删除 `.idea/code-stats.xml` 可重置数据 ## 🏗️ 项目架构 ``` src/main/kotlin/thoven/achievement/net/ideapluginachievement/ ├── action/ # 菜单操作 │ ├── ShowCodeStatsAction.kt │ └── ShowReportAction.kt ├── component/ # 项目组件 │ └── AchievementProjectActivity.kt ├── listener/ # 事件监听器 │ └── DocumentChangeListener.kt ├── model/ # 数据模型 │ └── CodeStats.kt ├── service/ # 核心服务 │ ├── AchievementNotificationService.kt │ ├── CodeStatsService.kt │ └── ReportGeneratorService.kt ├── ui/ # 用户界面 │ ├── CodeStatsDialog.kt │ ├── CodeStatsStatusBarWidgetFactory.kt │ └── ReportDialog.kt └── util/ # 工具类 ├── LanguageDetector.kt └── LocalDateConverter.kt ``` ## 🛠️ 技术栈 - **语言**: Kotlin 2.1.0 - **构建工具**: Gradle 8.x - **框架**: IntelliJ Platform SDK 2025.1 - **JDK**: Java 21 - **插件开发**: IntelliJ Platform Gradle Plugin 2.5.0 ## 📊 支持的编程语言 Java, Kotlin, JavaScript, TypeScript, Python, C, C++, C#, Go, Rust, PHP, Ruby, Swift, Objective-C, Shell, SQL, HTML, CSS, SCSS, Vue, Groovy, Scala, Dart, R, Lua, Perl, VimScript, JSON, YAML, XML, Markdown 等 40+ 种语言。 ## 🎯 开发指南 ### 开发环境设置 ```bash # 克隆项目 git clone https://gitee.com/your-repo/idea-plugin-achievement.git # 在 IntelliJ IDEA 中打开项目 # 运行插件(在沙箱环境中) ./gradlew runIde # 构建插件 ./gradlew buildPlugin # 运行测试 ./gradlew test ``` ### 主要任务 - `./gradlew runIde` - 在沙箱中运行插件 - `./gradlew buildPlugin` - 构建插件包 - `./gradlew test` - 运行测试 - `./gradlew verifyPlugin` - 验证插件 ## 🤝 参与贡献 我们欢迎任何形式的贡献! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ### 贡献建议 - 🎨 添加新的成就类型 - 🌍 国际化支持 - 📊 更多统计图表 - 🎯 自定义成就系统 - 🔧 性能优化 ## 📝 更新日志 查看详细的版本更新历史:[CHANGELOG.md](./CHANGELOG.md) ## 📄 开源协议 本项目采用 Apache License 2.0 协议 ## 🙏 致谢 - JetBrains 提供的强大 IntelliJ Platform SDK - 所有贡献者的辛勤付出 - 开源社区的支持 --- **让编程更有趣,让成就可见!** 🚀✨