java - 创建装饰器,如何获取eclipse插件中的文件信息?

标签 java eclipse eclipse-plugin eclipse-rcp

我正在尝试制作一个插件,以便每当创建一个新的特定文件时,具有某些属性(例如从文件内容派生),就会显示该类型的装饰器。

我知道如何通过扩展org.eclipse.ui.decorator扩展来制作基本的装饰器。

但是,在应用描述符之前如何知道有关文件的信息,例如文件名和扩展名?我知道它可以使用实现 ILightWeightLabelDecorator 接口(interface)的文件的 decorate() 方法中的 Object element 参数来完成。但我不知道如何使用这个element对象?

每当将新文件添加到包资源管理器时,装饰器会自行显示还是需要刷新工作台?

我正在使用 Eclipse 4.5.2

最佳答案

plugin.xml 中装饰器声明的 enablement 元素表示装饰器启用的对象类型,并确定传递给装饰器的对象类型。

所以如果你有:

    <enablement>
        <objectClass name="org.eclipse.core.resources.IFile"/> 
    </enablement>

上的 element 对象
@Override
public void decorate(final Object element, final IDecoration decoration)

调用将是一个IFile。所以你只需要做:

IFile file = (IFile)element;

或者要绝对确定您处理的是自适应对象,请使用:

IFile file = (IFile)Platform.getAdapterManager().getAdapter(element, IFile.class);

IFile 有方法告诉您有关该文件的所有信息。

关于java - 创建装饰器,如何获取eclipse插件中的文件信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37324253/

相关文章:

java - 将 Libgdx 桌面导出为 swf?

java - m2eclipse buildpath 困惑

eclipse-plugin - 用于 TestNG 覆盖的 Eclipse 插件

java - SOLR tika 处理器无法完美抓取我的 PDF 文件

eclipse - 使用 Maven 进行样板生成 (GWTP) 上的 "duplicate class"

java - 使用 Java 导入文件作为 Eclipse 项目的链接

java - JDO 设计器 eclipse 插件

java - 尝试解决此 Java 问题 : finding palindromes (String)

java - Gradle构建IO异常

java - ZuulException 转发错误,ClientException null