# ideaaiplugin **Repository Path**: lazytai/ideaaiplugin ## Basic Information - **Project Name**: ideaaiplugin - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-23 - **Last Updated**: 2026-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IDEA Claude Plugin IntelliJ IDEA 插件,集成 Claude AI 进行代码智能对话与代码修改。 ## 关于测试 这个项目你不需要 验证,所有的验证都需要我自己手动去执行,所以你不用规划测试步骤 ## 这个是多次build之后得到的结论 export JAVA_HOME="E:\Program Files\JetBrains\WebStorm 2025.3.2\jbr" && export PATH="$JAVA_HOME/bin:$PATH" && export GRADLE_USER_HOME="D:\.gradle" && ./gradlew.bat clean buildPlugin ## 功能 - AI 对话窗口,支持代码上下文 - 代码 Diff 预览与一键应用 - 可配置 API 地址与模型 ## 环境要求 - JDK 17 - IntelliJ IDEA 2024.1+ ## 构建 ### 快速构建(推荐) 已提供便捷构建脚本: **Windows:** ```cmd build.bat ``` **Linux/Mac:** ```bash chmod +x build.sh ./build.sh ``` 脚本会自动: 1. 配置 JDK 路径(使用 WebStorm 自带的 JDK) 2. 清理并构建项目 3. 显示构建产物位置 ### 手动构建 #### 1. 配置 JDK 17+ **Windows 用户:** 如果你使用 JetBrains 系列 IDE,JDK 通常位于: ``` E:\Program Files\JetBrains\WebStorm 2025.3.2\jbr ``` (根据实际安装路径调整) **Linux 用户 (Ubuntu/Debian):** **国内 JDK 镜像 (推荐):** 如果需要手动下载安装包,推荐使用国内镜像以加快速度: - **清华大学 (TUNA) - Adoptium/Temurin:** [点击下载 JDK 17](https://mirrors.tuna.tsinghua.edu.cn/Adoptium/17/jdk/x64/linux/) - **华为云 (Huawei Cloud):** [JDK 镜像库](https://repo.huaweicloud.com/java/jdk/) - **inJDK (国内直链):** [injdk.cn](https://www.injdk.cn/) **配置环境变量 (Linux):** ```bash export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH ``` **配置环境变量 (Windows):** ```cmd set JAVA_HOME=E:\Program Files\JetBrains\WebStorm 2025.3.2\jbr set PATH=%JAVA_HOME%\bin;%PATH% ``` **验证:** ```cmd java -version # 应显示:openjdk version "17.x.x" 或更高版本 ``` #### 2. 编译打包 ```bash # 清理并完整构建(包含测试) ./gradlew clean build # 仅编译插件(跳过测试,更快) ./gradlew buildPlugin ``` **产物位置:** ``` build/distributions/idea-claude-plugin-1.0.0.zip ``` #### 3. 安装插件 1. 打开 IntelliJ IDEA 2. `Settings/Preferences` → `Plugins` → ⚙ → `Install Plugin from Disk...` 3. 选择 `build/distributions/idea-claude-plugin-1.0.0.zip` 4. 重启 IDEA ### 构建成功记录(2025-03-26) **环境:** - JDK: WebStorm 2025.3.2 自带 JBR 21.0.9(兼容 JDK 17) - Gradle: 8.7(wrapper 自带) - OS: Windows 11 **构建命令:** ```bash export JAVA_HOME="E:/Program Files/JetBrains/WebStorm 2025.3.2/jbr" export PATH="$JAVA_HOME/bin:$PATH" ./gradlew clean buildPlugin ``` **构建输出:** ``` > Task :clean > Task :initializeIntelliJPlugin > Task :patchPluginXml > Task :verifyPluginConfiguration > Task :compileJava > Task :processResources > Task :classes > Task :instrumentCode SKIPPED > Task :classpathIndexCleanup > Task :instrumentedJar > Task :jar > Task :prepareSandbox > Task :buildSearchableOptions SKIPPED > Task :jarSearchableOptions SKIPPED > Task :buildPlugin BUILD SUCCESSFUL in 4s 11 actionable tasks: 11 executed ``` **产物:** - 文件:`build/distributions/idea-claude-plugin-1.0.0.zip` - 大小:14MB **关键修复:** 1. ✅ **SQLite NOT NULL 约束错误修复** - `TaskEntity.java` - 所有字段设置默认值(避免 null) - `TaskDatabase.java` - insert/update 增加 null 保护 2. ✅ **线程安全问题修复** (2025-03-26 新增) - `TaskQueueManager.java` - 使用 `ReadAction.compute()` 包装文档访问 - 新增 `DocumentInfo` 内部类,在 read-action 中获取文档快照 - 所有文档读取操作改为使用文档文本字符串,避免跨线程问题 - 修复错误:`RuntimeExceptionWithAttachments: Read access is allowed from inside read-action only` 3. **默认 AI 模型更新** (2025-03-26 变更) - `PluginSettings.java` - 默认模型从 `gpt-4o` 改为 `step-3.5` - 优先选用 Step 3.5 模型(智谱 AI) **验证方法:** ```bash # 运行测试 ./gradlew test --tests "com.claude.plugin.TaskDatabaseTest" # 或使用验证脚本 bash verify_db.sh # Linux/Mac verify_db.bat # Windows ``` 详见 `VERIFICATION.md` 和 `SETUP.md`。 ## 依赖 - Gson 2.11.0 - Gradle 8.7(wrapper 自带) - 阿里云 Maven 镜像(`maven.aliyun.com`),国内构建友好 ## Gradle 本地仓库配置 ### ⚠️ 重要:本地仓库位置要求 **Gradle 本地仓库必须配置在 D 盘,严禁使用 C 盘!** ``` D:\.gradle\ ``` #### 为什么不能使用 C 盘? 1. **空间限制**:C 盘通常是系统盘,空间有限,而 Gradle 依赖包会占用大量磁盘空间 2. **性能考虑**:D 盘通常是数据盘,有更大的存储空间和更好的性能 3. **系统安全**:避免系统盘空间被依赖包占满导致系统运行缓慢或崩溃 #### 配置方法 **方式一:设置环境变量(推荐)** 设置 `GRADLE_USER_HOME` 环境变量指向 D 盘: **Windows:** ```cmd setx GRADLE_USER_HOME "D:\.gradle" ``` 设置后需要**重启命令行窗口**或 IDE 才能生效。 **验证配置:** ```cmd echo %GRADLE_USER_HOME% # 应输出:D:\.gradle ``` **方式二:命令行临时设置** 每次构建前临时设置: ```cmd set GRADLE_USER_HOME=D:\.gradle ./gradlew clean build ``` #### 首次配置步骤 1. 创建目录: ```cmd mkdir D:\.gradle ``` 2. 设置环境变量(永久生效): ```cmd setx GRADLE_USER_HOME "D:\.gradle" ``` 3. 重启 IDEA 或命令行工具 4. 验证: ```cmd ./gradlew --version # 检查输出中的 "Gradle user home" 是否指向 D:\.gradle ``` #### 检查当前配置 运行以下命令查看当前 Gradle 配置: ```bash ./gradlew --version ``` 输出示例: ``` ------------------------------------------------------------ Gradle 8.7 ------------------------------------------------------------ Build time: 2024-06-24 12:40:05 UTC Revision: 850c93b3cc0f4b7f15c4a52856992a2237818fa1 Kotlin: 1.9.22 Groovy: 3.0.21 Ant: Apache Ant(TM) version 1.10.14 compiled on June 27 2024 JVM: 21.0.9 (JetBrains s.r.o 21.0.9+0-jbr) OS: Windows 11 10.0 amd64 Gradle user home: D:\.gradle <-- 确保这里是 D:\.gradle ``` #### 迁移现有仓库(如果已经在 C 盘) 如果已经在 C 盘有 `.gradle` 目录,需要迁移到 D 盘: 1. 关闭所有 IDE 和命令行窗口 2. 复制整个 `C:\Users\<用户名>\.gradle` 到 `D:\.gradle` 3. 设置 `GRADLE_USER_HOME` 环境变量为 `D:\.gradle` 4. 删除 `C:\Users\<用户名>\.gradle`(或保留作为备份) 5. 重启 IDE,验证构建正常 #### 注意事项 - ✅ **允许**:D 盘任何位置(`D:\.gradle`、`D:\gradle-repo`、`D:\build\.gradle` 等) - ❌ **禁止**:C 盘任何位置(包括 `C:\.gradle`、`C:\Users\...\.gradle`) - ❌ **禁止**:项目根目录下的 `.gradle/`(已加入 `.gitignore`) - 📝 每次构建都会用到本地仓库,请确保 D 盘有足够空间(建议至少 10GB) ## 项目结构 ``` src/main/java/com/claude/plugin/ ├── AiApiClient.java # API 调用 ├── AiInputDialog.java # 对话框 UI ├── AiCodeAction.java # 代码操作入口 ├── DiffViewer.java # Diff 预览 ├── DiffApplier.java # Diff 应用 ├── DiffOperation.java # Diff 操作逻辑 ├── PluginSettings.java # 插件设置 ├── PluginSettingsConfigurable.java # 设置面板 └── DebugLogger.java # 调试日志 ```