如果在 Project Explorer 中删除了在编辑器中打开的 IFile,则将其关闭
Close an open IFile in editor if it is deleted in Project Explorer
如果在 Project Explorer 中删除了在编辑器中打开的 IFile,我需要关闭它。
据我了解,IResourceChangeListener 可用于侦听项目工作区中的更改,但如何获取已删除的特定文件。
作为
event.getResource()
returns 似乎正在更改一个 IProject。
如何找到已删除的文件并在打开时在编辑器中关闭该文件?
资源更改事件通常包含有关所有相关资源更改的信息。对于文件更改,这将是文件、父文件夹和项目。 IResourceChangeEvent
的 getResource
方法只是 returns 您已更改的最顶层资源。
getDelta
返回的IResourceDelta
包含资源更改事件涵盖的全套资源:
IResourceDelta delta = event.getDelta();
您可以通过以下方式搜索特定文件的增量:
IResourceDelta fileDelta = delta.findMember(file.getFullPath());
您还可以使用 accept
方法对每个资源调用 'visitor'。
如果在 Project Explorer 中删除了在编辑器中打开的 IFile,我需要关闭它。
据我了解,IResourceChangeListener 可用于侦听项目工作区中的更改,但如何获取已删除的特定文件。
作为
event.getResource()
returns 似乎正在更改一个 IProject。
如何找到已删除的文件并在打开时在编辑器中关闭该文件?
资源更改事件通常包含有关所有相关资源更改的信息。对于文件更改,这将是文件、父文件夹和项目。 IResourceChangeEvent
的 getResource
方法只是 returns 您已更改的最顶层资源。
getDelta
返回的IResourceDelta
包含资源更改事件涵盖的全套资源:
IResourceDelta delta = event.getDelta();
您可以通过以下方式搜索特定文件的增量:
IResourceDelta fileDelta = delta.findMember(file.getFullPath());
您还可以使用 accept
方法对每个资源调用 'visitor'。