# develop-helper **Repository Path**: li_dg/develop-helper ## Basic Information - **Project Name**: develop-helper - **Description**: IDEA的开发者插件集合 - **Primary Language**: Java - **License**: AGPL-3.0 - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-10 - **Last Updated**: 2026-09-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Develop Helper IDEA Plugin Develop Helper 是一个 IntelliJ IDEA 开发者工具集,面向日常编码、SQL 调试、接口调试、数据库操作、网络排障、密码学处理和大模型辅助等场景。当前版本为 `0.1.27`。 当前项目是 Kotlin 为主、Java 为辅的 IntelliJ Platform 插件,不是普通 Kotlin/Java 应用。插件主要入口包括底部 `developer-helper` 工具窗口、右侧 `Fast Request` 工具窗口、右侧 `Database Tools` 工具窗口、编辑器右键菜单和 `Settings -> 开发助手` 配置页。 各功能模块可在 `Settings -> 开发助手` 中按需启用、关闭和排序;不需要的能力可以关闭,以保持工具窗口和菜单入口更贴合个人使用习惯。 ## 当前功能 ### 1. 文本与命名转换 - 支持选中文本的命名风格转换。 - 支持 `kebab-case`、`SNAKE_CASE`、`Camel Case`、`CamelCase`、`camelCase`、`snake_case`、`space case`。 - 编辑器右键菜单提供“转换命名风格”。 - 默认快捷键 `Alt+Shift+U` 可按配置顺序循环转换命名风格。 - 可在 `Settings -> 开发助手` 中调整启用的命名格式和转换顺序。 ### 2. 编码转换工作台 - 支持 Base64、URL、HTML、Unicode、Hex 编码和解码。 - 支持实时转换、行号显示、自动换行。 - 支持历史记录和最大记录条数配置。 - 支持最大字符数、全局换行长度等文本工具配置。 ### 3. 文件编码转换 - 支持选择多个文件或文件夹并递归转换文件编码。 - 支持识别所选文件的源编码;选择文件夹时按路径顺序使用第一个可处理文件作为识别依据。 - 文件夹转换会在开始写入前校验全部文件的源编码;发现不一致时取消整批转换并列出文件。 - 单文件会创建同级 `.bak` 备份;文件夹会创建同级完整 `.bak` 目录备份,重名时自动追加序号。 - 默认严格转换;可由用户开启有损转换,以替代字符处理目标编码无法表示的内容。 ### 4. SQL 与日志工具 - 支持 SQL 格式化。 - 支持 SQL 压缩。 - 支持从 MyBatis 日志还原可执行 SQL。 - 支持从 ShardingSphere 日志提取 Logic SQL 和 Actual SQL。 - MyBatis 日志匹配规则可在配置页中调整。 ### 5. 密码算法工作台 - 支持密钥对生成:RSA、DSA、EC、SM2、Ed25519、Ed448。 - 支持 P10 CSR 生成,可内部生成密钥或使用外部公私钥。 - 支持对称密钥生成:AES、SM4、DES、DESede、Blowfish、Camellia、ARIA、SEED、ChaCha20。 - 支持数据签名和验签:RSA、ECDSA、DSA、SM2、EdDSA。 - 支持 PKCS#7/P7 签名和数字信封加解密。 - 支持非对称加解密、对称加解密、HMAC、Hash。 - 输入、密钥、参数和输出支持 UTF-8、Base64、Hex 等格式;部分操作支持文件输入。 ### 6. 证书解析工作台 - 支持 X.509 证书解析,解析路径基于 Bouncy Castle。 - 支持 Base64、Hex、byte 等输入格式。 - 展示版本号、序列号、签名算法、有效期、颁发者、主体、主体公钥、签名值等信息。 - 支持证书扩展项解析,包括主题备用名、授权信息访问、CRL 分发点、密钥用法、基本约束等。 - 支持 PEM 添加、PEM 去除、空格和换行去除。 - 在 Windows 环境可选择调用系统证书查看能力。 ### 7. ASN.1 解析工作台 - 支持 Base64 和 Hex 输入。 - 支持 ASN.1 DER/BER 结构解析并以树形结构展示。 - 支持识别 X.509 证书、证书签名请求、后量子证书签名请求等结构类型。 - 支持按 OID 或内容搜索。 - 支持复制节点值,并可复制为 byte 数组、Hex、Base64。 ### 8. 证书链验证工作台 - 支持选择 P7B/P7C 文件、多个证书文件,或直接输入多个 PEM 证书。 - 支持无序证书输入,自动构建从终端证书到中间 CA 再到根 CA 的链。 - 支持完整性检查,并对多余证书给出提示。 - 支持签名值、有效期、keyId、Subject/Issuer、CA 约束、KeyUsage、根证书自签、CA 认证路径深度等验证项。 ### 9. TCP 工具工作台 - 支持向指定 Host 和端口发送 TCP 数据。 - 发送内容与接收服务的自动响应均支持 UTF-8 文本、二进制、Hex、Base64 编码。 - 支持发送后读取对端返回数据。 - 支持启动本机 TCP 接收服务,监听指定地址和端口。 - 返回数据和接收日志支持 UTF-8、二进制、Hex、Base64 展示,默认使用 Hex。 ### 10. 端口检查 - 支持按端口查询 TCP/UDP 占用进程,并展示 Java 进程、工作目录、启动命令和 JDK 路径等详情。 - 支持自动刷新、复制表格内容及在确认后结束选中进程。 ### 11. 数据库工具 - 通过独立的 `Database Tools` 工具窗口提供数据库工作台。 - 支持普通 SQLite、SQLCipher 加密 SQLite、H2、MySQL、PostgreSQL、SQL Server、Oracle、达梦 DM、KingbaseES、openGauss、自定义 JDBC 数据源。 - 支持新增、编辑、删除、测试连接、断开、重连、刷新数据源。 - 支持驱动 Jar 选择、默认驱动路径识别、查询可下载版本并下载驱动。 - 支持库表树、字段、索引展示和过滤。 - 支持 SQL Console、`Ctrl+Enter` 执行 SQL、停止执行、危险 SQL 确认。 - 支持查询结果标签页、结果排序、复制行、新增行、删除行、保存回写、刷新。 - 支持 SQL 执行日志展示、清空和导出。 ### 12. Fast Request - 通过独立的 `Fast Request` 工具窗口提供接口调试能力。 - 支持从 Java 接口代码生成 URL 和参数。 - 支持 GET、POST、DELETE、PUT、PATCH 请求。 - 支持 Headers、Path Param、URL Params、JSON Body、Form URL-Encoded、Multipart 等请求参数。 - 支持发送请求、发送并下载、复制 cURL。 - 支持响应 JSON、Pretty、Raw、Info 多视图展示。 - 支持环境、项目、域名、公共 Header、数据映射、URL 替换等配置。 - 支持 API 收藏和 API Navigate。 - 支持 Search Everywhere 搜索接口映射。 ### 13. POJO/JSON 转换 - 编辑器右键菜单和项目视图右键菜单提供 `POJO/JSON 转换` 分组。 - 支持在 JavaBean 上生成示例 JSON。 - 支持根据 JSON 在当前 Java 包下生成 JavaBean。 - 可在 `Settings -> 开发助手` 中启用或关闭。 ### 14. 大模型辅助 - 编辑器右键菜单支持“翻译”和“翻译并替换”。 - LLM 快捷动作支持 JavaDoc 生成和变量/方法命名生成。 - 支持多模型 JSON 配置、模型测速、最快模型提示。 - 支持 API URL、API Key、Model、超时、输入长度上限配置。 - 支持翻译领域、目标语言、强制目标语言、中文转英文格式、翻译截断长度配置。 - 支持翻译 Prompt、类注释 Prompt、方法注释 Prompt、命名 Prompt 自定义。 - 支持映射词库,适合项目术语翻译。 - 请勿将真实 API Key 写入源码、示例配置或提交记录。 ### 15. Git 行历史 - 编辑器右键菜单和行号槽右键菜单提供“变更历史”。 - 支持查看当前光标所在行的 Git 历史记录。 - 支持在独立编辑器页中展示行历史时间线。 - 可配置是否跟随文件重命名历史。 ### 16. 性能火焰图 - 使用当前项目 JDK 的 JFR/jcmd 采集 Java 进程 CPU 样本。 - 支持采样频率、Java/Native 采样范围、录制文件上限、目标服务筛选和按实际监听端口定位 Java 进程。 - 支持交互式火焰图、原始输出、历史记录及 HTML、SVG、折叠栈导出。 ### 17. 配置管理 - 配置入口:`Settings -> 开发助手`。 - 支持按需启用、关闭和排序功能模块;关闭不需要的模块后,可减少对应工具窗口内容和入口干扰。 - 支持文本工具、日志、数据库驱动目录、命名风格、大模型等配置。 - 支持配置变化后刷新工具窗口和相关入口。 ## 工具窗口与菜单入口 - `developer-helper`:底部工具窗口,包含文本工具、密码学实验室、网络工具和性能工具。 - `Fast Request`:右侧工具窗口,提供接口请求和 API 管理。 - `Database Tools`:右侧工具窗口,提供数据库连接和 SQL Console。 - 编辑器右键菜单:命名转换、翻译、翻译并替换、Git 变更历史、POJO/JSON 转换。 - `Tools` 菜单:Fast Request 相关入口。 - `Settings -> 开发助手`:统一配置页。 ## 项目结构 ```text develop-helper/ ├── build.gradle.kts ├── settings.gradle.kts ├── README.md ├── src/ │ └── main/ │ ├── java/ │ │ └── com/example/develophelper/ │ │ ├── actions/ # Java 版遗留动作 │ │ └── fastrequest/ # Fast Request Java 实现 │ ├── kotlin/ │ │ └── com/example/develophelper/ │ │ ├── actions/ # 命名、翻译、LLM、POJO/JSON、Git 动作 │ │ ├── core/ │ │ │ ├── config/ # 配置持久化与设置页 │ │ │ ├── llm/ # 大模型客户端、Prompt、执行器、测速 │ │ │ ├── ui/ # developer-helper 工具窗口装配 │ │ │ └── util/ # 通用工具与启动初始化 │ │ ├── feature/ │ │ │ └── gitTimemachine/ # Git 行历史 │ │ └── modules/ │ │ ├── crypto/ # 密码算法、证书、ASN.1、证书链 │ │ ├── database/ # Database Tools │ │ ├── mybatis/ # MyBatis 日志处理工具 │ │ ├── network/ # TCP 工具 │ │ ├── pojojson/ # POJO/JSON 转换核心 │ │ └── text/ # 编码转换、SQL 工具 │ └── resources/ │ └── META-INF/plugin.xml # 当前生效的插件描述文件 ├── openspec/ # 规范与变更记录 └── skills/ # 项目自定义 skill 来源目录 ``` ## 开发与构建 ### 环境要求 - JDK:`21`。 - Gradle Wrapper:`9.6.1`。 - IntelliJ Platform:`2026.1.3`,插件最低构建号为 `261`。 需要真实构建时,优先使用仓库内 Gradle Wrapper。 ### 编译校验 ```bash ./gradlew compileKotlin compileJava ``` ### 运行调试 ```bash ./gradlew runIde ``` ### 打包插件 ```bash ./gradlew buildPlugin ``` 构建产物位于: ```text build/distributions/develop-helper-.zip ``` 当前版本由 `build.gradle.kts` 中的 `version` 和 `tasks.jar.archiveVersion` 控制。 ## 安装插件 1. 执行 `./gradlew buildPlugin`(Windows 可使用 `gradlew.bat buildPlugin`)生成插件 ZIP 包。 2. 在 IntelliJ IDEA 中打开 `Settings -> Plugins`。 3. 点击右上角齿轮菜单,选择 `Install Plugin from Disk...`。 4. 选择 `build/distributions/` 下生成的 ZIP 文件。 5. 重启 IDE 后插件生效。 ## 发布 Release 1. 确认 `build.gradle.kts` 中的插件版本、`patchPluginXml.changeNotes` 和 README 内容一致。 2. 执行 `./gradlew buildPlugin` 生成 ZIP 包。 3. 创建对应版本的 Git tag。 4. 在代码托管平台创建 Release,并上传 `build/distributions/develop-helper-.zip`。 发布 IntelliJ 插件附件时应上传 ZIP 包,不要上传普通 Jar。 ## 技术栈 - Java 21 - Kotlin 2.2.21 - Gradle Wrapper 9.6.1 - IntelliJ Platform Gradle Plugin 2.18.1 - IntelliJ IDEA 2026.1.3 - Bouncy Castle - Gson - Hutool Core / HTTP / JSON ## 开源许可证 本项目以 [GNU Affero General Public License v3.0 或更高版本](LICENSE)(AGPL-3.0-or-later)发布。 项目包含源自 Fast Request 的 AGPL-3.0-or-later 代码,保留其原始版权和许可证声明。第三方组件及许可证信息见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。 ## 注意事项 - `src/main/resources/META-INF/plugin.xml` 是当前生效的插件描述文件。 - `META-INF/plugin.xml` 如存在同名历史文件,默认不作为当前事实来源。 - 修改插件 ID、Action ID、ToolWindow ID、Configurable ID、配置持久化 key 前需要评估兼容性。 - 涉及证书和 ASN.1 时优先沿用现有 Bouncy Castle 路径。 - 涉及大模型功能时避免无意改变 Prompt 模板、截断策略和映射词库语义。 - `Ctrl+\` 可能因 Keymap 只读导致自动绑定失败,可在 `Settings -> Keymap` 中手动绑定 LLM 快捷动作。