在 Eclipse Common Navigator Framework 视图中过滤内容
Filtering contents in Eclipse Common Navigator Framework view
我正在开发一个基于 3.x 的 Eclipse RCP 应用程序。在应用程序部分,我正在实现 Eclipse 本身的 Common-navigator 插件,以便在工作区中显示资源。我已经创建了如下所示的导航器视图:
但我只想显示一个树子元素。更具体地说,我只想显示 clause
文件夹及其元素。
正确的做法是什么?
- 如果 plugin.xml 中不存在,则添加
org.eclipse.ui.navigator
的依赖项。
- 在扩展选项卡中添加扩展点
org.eclipse.ui.navigator.navigatorContent
。
- 在其下创建
CommonFilter
并将您的值提供给右侧的属性。
- 创建一个扩展 'org.eclipse.jface.viewers.ViewerFilter' 的 class 并在覆盖的
public boolean select(Viewer viewer, Object parentElement, Object element)
中实现你的逻辑(注意 :return true 会保留导航器中的资源,否则它将被隐藏。
- 在 CommonFilter 中为 class 属性 配置扩展 class。
- 你可以去参加测试了。
顺便说一句,这种方式是在所有导航器中添加通用过滤器。如果您需要为特定的导航器进行配置,那么您需要获取它的视图,然后从中获取查看器并将您的过滤器附加到查看器。为此,您可能需要一个触发点,例如 menu/button/startup 扩展!
我正在开发一个基于 3.x 的 Eclipse RCP 应用程序。在应用程序部分,我正在实现 Eclipse 本身的 Common-navigator 插件,以便在工作区中显示资源。我已经创建了如下所示的导航器视图:
但我只想显示一个树子元素。更具体地说,我只想显示 clause
文件夹及其元素。
正确的做法是什么?
- 如果 plugin.xml 中不存在,则添加
org.eclipse.ui.navigator
的依赖项。 - 在扩展选项卡中添加扩展点
org.eclipse.ui.navigator.navigatorContent
。 - 在其下创建
CommonFilter
并将您的值提供给右侧的属性。 - 创建一个扩展 'org.eclipse.jface.viewers.ViewerFilter' 的 class 并在覆盖的
public boolean select(Viewer viewer, Object parentElement, Object element)
中实现你的逻辑(注意 :return true 会保留导航器中的资源,否则它将被隐藏。 - 在 CommonFilter 中为 class 属性 配置扩展 class。
- 你可以去参加测试了。
顺便说一句,这种方式是在所有导航器中添加通用过滤器。如果您需要为特定的导航器进行配置,那么您需要获取它的视图,然后从中获取查看器并将您的过滤器附加到查看器。为此,您可能需要一个触发点,例如 menu/button/startup 扩展!