# claude_plugin_intellij **Repository Path**: open_source_base/claude_plugin_intellij ## Basic Information - **Project Name**: claude_plugin_intellij - **Description**: Claude Code集成插件,允许在IntelliJ IDEA中直接与Claude AI进行交互,支持发送选中代码到Claude进行分析、生成代码建议等功能。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-16 - **Last Updated**: 2025-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Claude Code IDEA Plugin - 环境:IntelliJ 2025.1 - IntelliJ IDEA IU-251.26927.53 (Microsoft OpenJDK 17.0.15) [![Build](https://img.shields.io/badge/build-passing-brightgreen)]() [![Version](https://img.shields.io/badge/version-1.0--SNAPSHOT-blue)]() [![IntelliJ IDEA](https://img.shields.io/badge/IntelliJ%20IDEA-2025.1+-orange)]() Claude Code集成插件,允许在IntelliJ IDEA中直接与Claude AI进行交互,支持发送选中代码到Claude进行分析、生成代码建议等功能。 另外增加了对终端的发送功能支持。主要是用于发送到codex终端。理论上适用于所有终端。 ![pluginIcon.png](src/main/resources/META-INF/pluginIcon.png) ![img.png](img.png) ![img_1.png](img_1.png) ## 🌟 主要特性 - **🔗 Claude Code集成**: 直接在IDEA中连接和控制Claude Code CLI - **💬 智能对话**: 通过专用Tool Window与Claude进行实时对话 - **📝 代码分析**: 右键选中代码发送给Claude进行分析和优化建议 - **⚡ 快捷操作**: 支持快捷键 `Ctrl+Alt+C` 快速发送代码 - **🔄 实时连接**: 实时显示连接状态,支持连接/断开操作 - **🎯 无缝集成**: 与IDEA编辑器无缝集成,支持多种文件类型 ## 📋 系统要求 - **IntelliJ IDEA**: 2025.1 或更高版本 - **Java**: JDK 21 或更高版本 - **Claude Code CLI**: 需要安装Claude Code命令行工具 - **操作系统**: Windows, macOS, Linux ## idea 开发时选择jbr Add IntelliJ Platform Plugin SDK from disk.. 点击红框的目录即可完成sdk的添加,无需下载和安装其他类型的sdk,默认弹出的intelij目录即是。 例如:D:\Program Files\JetBrains\IntelliJ IDEA 2025.1.3 ## 🧪 测试指南 ### IDEA中构建和测试插件 由于命令行Java版本可能不匹配,推荐直接在IDEA中进行开发和测试: #### 1. 在IDEA中构建插件 1. 打开项目后,等待Gradle同步完成 2. 打开 `Gradle` 工具窗口 (View → Tool Windows → Gradle) 3. 展开 `claude_plugin → Tasks → intellij platform` 4. 双击 `buildPlugin` 任务 5. 构建完成后,插件zip文件位于 `build/distributions/` 目录 #### 2. 测试开发环境 1. 在Gradle工具窗口中找到 `runIde` 任务 2. 双击执行,将启动一个带有插件的IDEA测试实例 3. 在测试实例中验证插件功能: - 检查右侧是否有"Claude Code"工具窗口 - 测试右键菜单中的"发送到Claude Code"选项 - 验证快捷键 Ctrl+Alt+C 是否工作 #### 3. 插件安装测试 1. 构建完成后,在主IDEA中安装插件: - File → Settings → Plugins - 点击⚙️ → Install Plugin from Disk... - 选择 `build/distributions/claude_plugin-1.0-SNAPSHOT.zip` - 重启IDEA #### 4. 功能测试清单 - [ ] **插件加载**: 插件在插件列表中显示为已启用 - [ ] **Tool Window**: 右侧出现"Claude Code"工具窗口 - [ ] **界面元素**: 连接按钮、输入框、聊天区域正确显示 - [ ] **右键菜单**: 选中代码后右键菜单包含"发送到Claude Code" - [ ] **快捷键**: Ctrl+Alt+C快捷键响应正常 - [ ] **错误处理**: 未连接时发送代码显示适当提示 #### 5. 模拟连接测试 由于Claude Code CLI可能未配置,可以测试UI交互: 1. 在路径输入框输入任意路径(如"test") 2. 点击"连接Claude Code"按钮 3. 观察是否显示连接尝试信息 4. 验证连接失败时的错误提示 ## 🚀 安装指南 ### 方式一:从源代码构建 1. **克隆仓库** ```bash git clone cd claude_plugin ``` 2. **构建插件** 如果要清理缓存 ```bash .\gradlew.bat clean build--no-daemon--refresh-dependencies .\gradlew.bat build --no-daemon ``` ```bash .\gradlew.bat buildPlugin --no-daemon ./gradlew buildPlugin ``` Windows用户使用: ```bash gradlew.bat buildPlugin ``` 3. **安装插件** - 打开 IntelliJ IDEA - 进入 `File` → `Settings` → `Plugins` - 点击 `⚙️` → `Install Plugin from Disk...` - 选择 `build/distributions/` 目录下生成的 `.zip` 文件 - 重启 IDEA ### 方式二:通过IDE Plugin Marketplace(未来支持) 插件正在审核中,预计很快可以通过官方插件市场安装。 ## 📖 使用说明 ### 1. 首次设置 1. **启动Claude Code Tool Window** - 在IDEA右侧面板找到 `Claude Code` 工具窗口 - 如果没有看到,通过 `View` → `Tool Windows` → `Claude Code` 打开 2. **配置Claude Code路径** - 在工具窗口的 "Claude Code路径" 输入框中输入Claude CLI的完整路径 - 例如: `/usr/local/bin/claude` 或 `C:\\Users\\username\\AppData\\Local\\claude\\claude.exe` 3. **建立连接** - 点击 `连接Claude Code` 按钮 - 等待连接状态变为 "已连接" ### 2. 基本使用 #### 对话模式 1. 在Claude Code工具窗口的输入框中输入问题 2. 按Enter或点击 `发送` 按钮 3. Claude的回复将显示在聊天区域 #### 代码分析模式 1. 在编辑器中选中需要分析的代码 2. 右键选择 `发送到Claude Code` - 或使用快捷键 `Ctrl+Alt+C` - 功能要求:没有选中内容时发送claude code 能识别的文件路径 选中内容时发送claude code 能识别的文件路径和代码片段 3. 代码将自动发送到Claude,分析结果显示在工具窗口中 ### 3. 高级功能 - **多轮对话**: 支持上下文对话,Claude会记住之前的交互内容 - **代码建议**: Claude可以提供代码优化、重构、调试建议 - **错误排查**: 将错误信息发送给Claude获取解决方案 - **代码解释**: 让Claude解释复杂代码的工作原理 ## 🏗️ 项目架构 ``` src/main/kotlin/com/anthropic/code/plugin/claude_plugin/ ├── ClaudeCodeService.kt # 核心服务类,管理Claude Code连接 ├── ClaudeToolWindow.kt # Tool Window界面实现 └── SendToClaudeAction.kt # 代码发送Action实现 src/main/resources/META-INF/ └── plugin.xml # 插件配置文件 ``` ### 核心组件说明 - **ClaudeCodeService**: - 管理Claude Code进程启动/停止 - 处理HTTP通信 - 提供消息监听接口 - **ClaudeToolWindow**: - 提供用户交互界面 - 显示对话历史 - 管理连接状态 - **SendToClaudeAction**: - 集成到编辑器右键菜单 - 处理选中文本发送 - 支持快捷键操作 ## 🔧 开发环境设置 ### 环境要求 - **JDK 21**: 确保安装了JDK 21或更高版本 - **Gradle**: 使用包装器,无需单独安装 - **IntelliJ IDEA**: 推荐使用Ultimate版本进行开发 ### 开发步骤 1. **导入项目** ```bash git clone cd claude_plugin ./gradlew idea ``` 2. **运行开发实例** ```bash ./gradlew runIde ``` 这将启动一个带有插件的IDEA实例用于测试 3. **构建和测试** 如果要清理缓存 ```bash .\gradlew.bat clean build--no-daemon--refresh-dependencies .\gradlew.bat build --no-daemon ``` ```bash # 构建插件 .\gradlew.bat buildPlugin --no-daemon ./gradlew buildPlugin # 运行测试 ./gradlew test # 验证插件 ./gradlew verifyPlugin ``` ### 调试技巧 - 使用 `./gradlew runIde` 启动调试实例 - 在代码中添加断点进行调试 - 查看IDEA日志:`Help` → `Show Log in Explorer` - 使用 `Logger.getInstance()` 添加日志输出 ## 🧪 测试指南 ### 手动测试检查单 - [ ] **插件安装**: 能够成功安装并在插件列表中显示 - [ ] **Tool Window**: Claude Code工具窗口正确显示 - [ ] **连接功能**: 能够连接到Claude Code CLI - [ ] **状态显示**: 连接状态正确更新 - [ ] **消息发送**: 能够发送消息并接收回复 - [ ] **代码发送**: 右键菜单和快捷键正常工作 - [ ] **错误处理**: 连接失败时显示适当错误信息 - [ ] **界面响应**: UI操作流畅,无卡顿 ### 自动化测试 ```bash # 运行所有测试 ./gradlew test # 运行插件验证 ./gradlew verifyPlugin # 检查代码质量 ./gradlew detekt # 清理缓存 ./gradlew clean # 运行IDEA实例 runIde # 调试信息全打印的运行方式 runIde --stacktrace --scan --debug ``` ## ❗ 故障排除 ### 常见问题 **1. 无法连接到Claude Code** - 检查Claude Code CLI是否正确安装 - 验证路径配置是否正确 - 确认Claude Code支持 `--server --port=8080` 参数 **2. 插件无法加载** - 检查IDEA版本兼容性(需要2025.1+) - 验证JDK版本(需要21+) - 查看IDEA错误日志 **3. 发送代码无响应** - 确认已建立连接 - 检查选中的代码内容 - 查看工具窗口是否有错误提示 **4. 性能问题** - 关闭不必要的插件 - 增加IDEA内存配置 - 检查Claude Code服务状态 ### 日志查看 - **IDEA日志**: `Help` → `Show Log in Explorer` - **插件日志**: 搜索 `ClaudeCodeService` 相关条目 - **调试模式**: 使用 `./gradlew runIde` 启动调试实例 ## 🤝 贡献指南 欢迎贡献代码和建议! ### 贡献流程 1. Fork本仓库 2. 创建特性分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 创建Pull Request ### 代码规范 - 使用Kotlin语言 - 遵循IntelliJ平台开发规范 - 添加适当的注释和文档 - 确保所有测试通过 ## 📄 许可证 本项目采用 [MIT License](LICENSE) 许可证。 ## 🔗 相关链接 - [Claude Code CLI 文档](https://docs.anthropic.com/claude-code) - [IntelliJ平台开发指南](https://plugins.jetbrains.com/docs/intellij/) - [问题反馈](https://github.com/your-username/claude-plugin/issues) - [功能请求](https://github.com/your-username/claude-plugin/discussions) ## 📊 版本历史 ### v1.0-SNAPSHOT - ✨ 初始版本发布 - 🔗 基本Claude Code连接功能 - 💬 Tool Window对话界面 - 📝 代码发送和分析功能 - ⌨️ 快捷键支持 --- **开发团队**: [Anthropic](https://anthropic.com) **最后更新**: 2025年9月12日 **支持邮箱**: support@anthropic.com