Skip to content

careinfress/rpc-jumpto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rpc-jumpto Doodle Jump

1. 实现目的

解决RPC框架中cli端跟svr端方法代码的跳转问题

2. 安装方法

IDEA-->File-->Plugns-->Browse repositories中搜索Doodle Jump,然后安装重启就可以使用了。

3. 实现思路

  1. 当IDEA随机打开一个文件的时候,会触发 /resources/META-INF/plugin.xml 中定义好的Provider的实现类的collectNavigationMarkers 方法。

  2. 方法将会扫描打开文件的各个PsiElementPsiElement可以理解为Android中各个View组件的最基础元素,比如TextViewImageView等继承于View,在IDEA的世界中,每个Element都继承PsiElement,比如PsiJavaFilePsiMethod等。

  3. 如果对上面的Element理解不是很清楚,可以在IDEA中下载一个叫做PsiViewer的插件,这个插件可以展示在IDEA中任何一个文件的PSI DOM结构,具体参考下图:

  1. 当扫描到目标PsiElement后,接下来的操作就是找寻靶向PsiElement了,具体可以参考github 中的具体实现代码。可以从/provider/中的各个实现类开始

4. 工作列表

  • 第一代RPC框架Cli端跳转找到Proc

  • 第一代RPC框架注解方式Cli端的跳转到Proc

  • 第二代RPC框架Cli端跳转找到Proc

  • 支持第一代RPC框架多Proc的情况

  • 解决第一代插件跳转bug

  • 支持第一代RPC框架从Proc跳转到Cli

  • 支持第二代RPC框架从Proc跳转到Cli

  • 支持互动基于第二代RPC框架多Proc的情况

5. 最后

感谢公司RPC

About

A plugin for jumping

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages