
SqlToy Navigator 插件介绍插件定位SqlToy Navigator 是一款面向 SqlToy ORM 项目的 IntelliJ IDEA 插件用于提升 Java 代码与 XML SQL 定义之间的导航、阅读和维护效率。插件核心解决的问题是在 SqlToy 项目中Java 代码通常通过字符串形式引用 XML 中的sqlId当项目规模变大后开发者需要频繁在 Java 类、XML 文件和全局搜索结果之间切换定位成本高也容易维护错误的 SQL。SqlToy Navigator 将这种依赖搜索的低效流程升级为 IntelliJ IDEA 原生的双向导航体验。核心功能1. Java 到 XML 精确跳转在 Java 代码中的sqlId字符串上使用Ctrl Click或者点击左侧图标即可跳转到 XML 中对应的 SQL 定义。示例 Java 代码lightDao.find(view_user_list, queryParam, User.class);对应 XML SQL 定义sql idview_user_list SELECT * FROM TEST_TABLE /sql2. XML 到 Java 反向定位在 XML 的sql id...定义处可以通过行标记跳转回 Java 中引用该sqlId的位置方便快速判断 SQL 被哪些业务代码使用。3. 双向行标记提示插件会在 JavasqlId和 XMLid属性旁显示导航图标让 SQL 引用关系在编辑器中直接可见。4. sqlId 自动补全在 Java 字符串中编写sqlId时插件可以基于 XML 中已有 SQL 定义提供补全候选并显示来源文件降低拼写错误概率。5. 重复定义友好处理如果项目中存在重复的sqlId定义插件会保留多个目标由 IDEA 显示目标选择器让开发者自行选择跳转位置。6. XML SQL 高亮增强插件会对 XMLsql标签中的 SQL 正文进行高亮包括SQL 关键字表名表别名字段别名函数命名参数字符串数字注释操作符7. SqlToy 命名参数识别插件支持识别:paramName形式的 SqlToy 命名参数并进行特殊高亮方便开发者区分 SQL 字段与运行时参数。8. 未引用 SQL 提示对于没有被 Java 代码引用的 XMLsqlId插件会进行置灰提示帮助开发者发现可能已经废弃的 SQL 定义。9. SQL 块内单词高亮在当前 SQL 块中选中字段、别名或参数时插件会高亮同一 SQL 片段内的整词出现位置方便检查字段引用关系。10. Java 代码中常量定义识别在当前 Java 代码中很多时候会使用常量定义 sqlId最后在调用处直接使用常量变量这会使得在跳转 XML SQL 时候格外复杂本插件也会在常量 SQL 常量变量左侧显示导航图标方便检查字段引用关系。插件优势定位更准确SqlToy Navigator 不是简单的字符串搜索而是基于 IntelliJ IDEA 的 PSI、文件索引和缓存机制识别 Java 字符串与 XML SQL 定义之间的关系减少普通字符串带来的干扰。操作更自然插件复用 IDEA 原生的跳转、补全、行标记和编辑器高亮能力开发者不需要改变已有开发习惯。维护更高效开发者可以直接从 Java 跳转到 XML SQL也可以从 XML SQL 反查 Java 使用位置大幅减少手动搜索和文件切换。风险更低通过sqlId补全、重复定义多目标选择、未引用 SQL 置灰等能力插件可以降低拼写错误、误跳转和误维护的风险。阅读体验更好XML 中的 SQL 不再是普通文本关键字、表名、别名、函数和参数都有清晰的视觉区分更接近独立 SQL 文件的阅读体验。对大项目更友好插件使用 IDEA 文件索引、候选文件预筛选、文件级缓存和索引状态保护机制避免在大型项目或索引未完成时影响编辑器响应。适用场景SqlToy Navigator 适用于以下项目和团队使用 SqlToy ORM 的 Java 项目sqlId数量较多、维护成本较高的项目经常需要从 Java 代码定位 XML SQL 的开发者希望识别未使用 SQL、降低历史 SQL 清理风险的开发者希望提升 XML SQL 阅读体验的开发者兼容信息当前插件源码版本1.0.5版本要求IntelliJ IDEA 2024.1.1一句话总结SqlToy Navigator 让 SqlToy 项目中的sqlId像 Java 方法引用一样可导航、可补全、可维护把低效的字符串搜索升级为 IntelliJ IDEA 原生的双向 SQL 定位体验。最后欢迎下载插件体验有问题回复看到有时间会进行更正