【问题标题】:How to change file/folder resource icons from existing eclipse views如何从现有的 Eclipse 视图中更改文件/文件夹资源图标
【发布时间】:2014-12-31 17:18:54
【问题描述】:

我想通过更改自定义插件资源的默认文件/文件夹图标来更改 Eclipse 中项目资源管理器视图的外观。我知道装饰器 - https://eclipse.org/articles/Article-Decorators/decorators.html,但是我如何更改现有图标本身,尽管只是放置一个覆盖或底层图像?

我也不想创建新视图,只想用我的图标重用项目资源管理器。

【问题讨论】:

    标签: java eclipse-plugin jface


    【解决方案1】:

    使用的主图标取自 org.eclipse.ui.editors 扩展点定义的文件的默认编辑器。

    如果您定义新的文件类型和编辑器,您可以指定图标,但不能覆盖现有类型和编辑器的图标。

    【讨论】:

    • 我认为您可以使用 IPipelinedTreeContentProvider 从资源管理器中删除现有项目并用新项目替换它们(在这种情况下相同的文本,不同的图标)。
    【解决方案2】:

    要修改现有的项目资源管理器内容,首先添加一个org.eclipse.ui.navigator.viewer 扩展点。在其下添加一个 viewerContentBinding 元素,其 id 为 org.eclipse.ui.navigator.ProjectExplorer(这是标准 Eclipse 项目浏览器视图的 id)。

    在其下添加带有contentExtension 元素的(includes)。该模式标识要包含的导航器内容的 ID,并且可以包含通配符,例如com.example.mycontent.*.

    接下来定义一个带有navigatorContent 元素的org.eclipse.ui.navigator.navigatorContent 扩展点。确保您提供的 id 与上述模式匹配。设置内容和标签提供者。如果内容提供者实现IPipelinedTreeContentProvider,它将允许您修改现有内容(可能将 IFolder 之类的东西包装在标签提供者理解的类中)。您还需要定义 triggerPoints 来标识应该调用您的内容提供程序的项目。

    抑制标准导航器内容可能有用/必要。您可以通过在 navigatorContent 下使用策略 InvokeAlwaysRegardlessOfSuppressedExt 和 id org.eclipse.ui.navigator.resourceContent 指定 override 元素来做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 2011-09-29
      • 2014-01-08
      • 2020-09-12
      • 2015-05-05
      相关资源
      最近更新 更多