Intellij idea插件如何实现代码结构化视图?

概述

在Intellij idea中,代码结构化视图可以显示任何文件的结构窗体和导航,那么在插件中如何进行实现呢?

方法

(1)创建一个结构化视图工厂类实现PsiStructureViewFactory接口。如图

(2)创建一个结构化视图的StructureViewModel类,继承自StructureViewModelBase类。如图

(3)实现StructureViewModel的ElementInfoProvider元素提供器接口,控制是否显示加号和叶子节点。如图

(4)在结构视图中,想控制排序,需要重写getSorters方法。如图

(5)创建ProtobufStructureViewElement类,实现StructureViewTreeElement, SortableTreeElement接口。如图

(6)实现相关的排序方法和导航控制方法。如图。

(7)在ProtobufStructureViewModel构造函数中传ProtobufStructureViewElement类实例。如图

(8)在ProtobufStructureViewFactory类中实例化TreeBasedStructureViewBuilder,并实现方法createStructureViewModel返回ProtobufStructureViewModel实例。

(9)最后代码结构化视图工厂类注册到plugin.xml文件的extensions标签中。最后运行工程即可。如图

结语

我是七步的天,喜欢就关注我吧。

有其他问题和见解欢迎在评论区留言。可以留下你宝贵的意见。

欢迎点赞+关注+收藏。非常感谢。

举报
评论 0