eclipse - 如何获取与 Eclipse 中的 propertyChanged 事件关联的 IResource?

标签 eclipse resources eclipse-plugin eclipse-rcp

我正在开发一个 Eclipse 插件,用于监视工作区中的事件。我的一个类实现了 IPropertyListener,这意味着它继承了 propertyChanged 方法。当插件工作区中的文件变脏时,会触发此方法。我需要知道什么 IResource 与 propertyChanged 事件关联,但我当前的实现不起作用。

public void propertyChanged(Object source, int propId)
{
    if(propId == IEditorPart.PROP_DIRTY)
    {
        IResource resource = (IResource)source;
    }
}

我认为这不起作用,因为源不是 IResource 类型,但我不知道如何获取与此属性更改关联的资源。

关于如何获取 IResource 有什么想法吗?

最佳答案

尝试将源转换为 IEditorPart。然后调用 getEditorInput()。并非所有编辑器输入都是工作区资源,因此请检查子类型之一(可能是 FileEditorInput)并从那里开始。

或者,只需通过 IWorkspace.addResourceChangeListener() 自己监听资源更改,而不是依赖第三方。

关于eclipse - 如何获取与 Eclipse 中的 propertyChanged 事件关联的 IResource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5145776/

相关文章:

eclipse - 使用 Eclipse 作为 Node.JS 远程调试器(连接被拒绝)

Android 开发环境 Linux

python - 从 Python 中的资源加载 txt 文件

regex - 正则表达式是匹配和替换文本的最佳方法吗?

android - HelloAndroid 未使用 eclipse 在模拟器上启动

Eclipse - 它有像 XCode 一样的下拉方法吗?

javascript - 如何找出在javascript中加载了哪些javascript?

android - 在钛中,是否可以从 android 模块访问 3rd-party-jar-bundled 资源文件( xml )?

java - 如何在 Eclipse 工作区中获取当前 Subclipse 提交作者姓名?

java - 在包 'layout_alignParentEnd' Activity_post.xml/DispatchActivity/res/layout 第 23 行中找不到属性 'android' 的资源标识符