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

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


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

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

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

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

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