Skip to content

Chinazhouwy/jumpPlugin

Repository files navigation

Jump Plugin - IntelliJ IDEA 导航插件

项目概述

Jump Plugin 是一款为 IntelliJ IDEA 开发的导航插件,主要用于增强 Spring 项目中 XML 配置文件与 Java 类之间的导航体验。通过智能识别和标记关键代码位置,帮助开发者快速定位和跳转,提高开发效率。

核心功能

1. Facade 类导航

  • biz-context- 开头的 XML 文件中,为实现特定接口的 Bean 类添加导航标记
  • 点击图标可直接跳转到对应的 Java 实现类

2. Property Ref 标签处理

  • 自动识别 XML 文件中 <property> 子标签下的 <ref bean="..."/> 引用
  • 在 ref 标签处显示导航图标,方便快速查看引用关系

3. Bean 定义快速定位

  • 在 ref 标签处点击图标,可跳转到所有以 biz-context 开头的 XML 文件中不包含该 bean id 的位置
  • 帮助开发者快速排查配置问题和依赖关系

技术实现

主要类与功能

FacadeInvokeLineMarkerProvider

  • 核心类,负责在 XML 文件中添加行标记图标
  • 处理 Bean 类到 Java 实现的导航
  • 实现 ref 标签的特殊导航功能

JSearchUtils

  • 提供各种搜索工具方法
  • 查找特定前缀的 XML 文件
  • 搜索符合条件的 Java 类和方法
  • 解析 XML 结构和属性

Constants

  • 定义插件使用的常量值
  • 文件命名前缀、XML 标签名、目标类名等

JIcons

  • 管理插件使用的图标资源

安装方法

方法一:通过本地插件安装

  1. 克隆或下载项目代码
  2. 使用 IntelliJ IDEA 打开项目
  3. 执行 Build -> Prepare Plugin Module for Deployment 构建插件
  4. 在 IntelliJ IDEA 中选择 File -> Settings -> Plugins -> Install Plugin from Disk...
  5. 选择生成的 jump-plugin.jar 文件安装

方法二:直接编译运行

  1. 克隆或下载项目代码
  2. 使用 IntelliJ IDEA 打开项目
  3. 配置 IntelliJ Platform Plugin SDK
  4. 点击 Run 按钮直接运行插件进行测试

使用指南

1. Facade 类导航

biz-context-*.xml 文件中,当 Bean 类实现了指定的 Facade 接口时,会在类名旁显示导航图标:

<bean id="exampleBean" class="com.example.ExampleFacadeImpl">
    <!-- 类名旁会显示导航图标 -->
</bean>

点击图标即可跳转到对应的 Java 实现类。

2. Ref 标签导航

biz-context-*.xml 文件中,当遇到 <ref bean="..."/> 标签时,会在标签旁显示导航图标:

<property name="dependency">
    <ref bean="dependencyBean"/>
    <!-- ref 标签旁会显示导航图标 -->
</property>

点击图标会跳转到所有以 biz-context 开头的 XML 文件中不包含该 bean id 的位置。

配置说明

插件主要通过 Constants 类进行配置,可根据项目需求修改以下常量:

  • BIZ_CONTEXT_FILE_PREFIX: 业务上下文 XML 文件前缀
  • TARGET_CLASS_LIST: 需要导航的目标类列表
  • PROPERTY_NAME: 需要特殊处理的属性名称

开发与扩展

项目结构

参考文章地址:

重点参考:

https://blog.csdn.net/qq_41698074/category_12501120.html】

其余环境参考:

https://plugins.jetbrains.com/docs/intellij/psi-files.html
https://blog.csdn.net/qq_43811536/article/details/139447518
https://blog.csdn.net/chenzhengfeng/article/details/133777622
https://blog.csdn.net/m0_60322358/article/details/119521995
https://blog.csdn.net/youngwah292/article/details/110734407
https://blog.csdn.net/BG1230521/article/details/136605382

About

java 写的跳转的 idea 插件

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages