Intellij idea插件如何在PSI工具类中自定义方法

2025-04-08 14:59:06

1、定义一个帮助类,在其中定义一些方法。如图

Intellij idea插件如何在PSI工具类中自定义方法

2、自定义获取键值对的方法。ProtoBufProperty相关的代码,并不存在现有的代码中,它是通过解析器生成的。还有“element.getKey”方法,也是由解析器生成的。如图

Intellij idea插件如何在PSI工具类中自定义方法
Intellij idea插件如何在PSI工具类中自定义方法

3、修改“protobuf.bnf”文件中的规则。添加psiImpUtil工具配置。如图

Intellij idea插件如何在PSI工具类中自定义方法

4、更新psiImplUtilClass attribute以后,重新生成解析器。如图

Intellij idea插件如何在PSI工具类中自定义方法

5、定义一个ProtobufUtil类,用于根据键获取属性。如图

Intellij idea插件如何在PSI工具类中自定义方法

6、ProtobufUtil类中使用PsiTreeUtil获取到子类型。如图

Intellij idea插件如何在PSI工具类中自定义方法

7、实现了工具类搜索属性。以及自定制方法。如图

Intellij idea插件如何在PSI工具类中自定义方法
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢