使用Mybatis进行开发时,还有一个常用场景是从DAO层方法跳转到XML标签,或者反过来从XML标签跳转到DAO层方法。
可以使用lineMarkerProvider
来实现该功能。
Line markers help to annotate any code with icons on the gutter. These icons may provide navigation to related code.
DAO层方法跳转到对应XML标签
|
|
同样先过滤出DAO层接口,可能是接口本身,也可能是接口中的方法。
根据接口或者方法PsiElement
寻找对应IdDomElement
的逻辑在JavaService#process()
方法中:
找到符合的IdDomElement
后,构造一个跳转LineMarkerInfo
:
需要传入图标、布局、跳转目标和提示语。
XML标签跳转到DAO层方法
|
|
这个类继承自最基本的LineMarkerProvider
,实现getLineMarkerInfo
方法。
同样是先过滤,然后构造LineMarkerInfo
。
最后注册到plugin.xml
中: