如何以编程方式更新 Eclipse 视图? (我想这可能不需要特定于 RSE?)。
背景:我用的是远程系统资源管理器 (RSE) http://www.eclipse.org/tm/对于 Eclipse,通过 SSH 执行远程命令来执行一些操作,这会在远程主机上创建新文件。我意识到远程系统视图中列出的 SFTP 文件不会自动更新以显示新创建的文件。
到目前为止,我已经设法获得相关视图,如下所示:
IWorkbench workbench = PlatformUI.getWorkbench();
IViewRegistry viewReg = workbench.getViewRegistry();
IViewDescriptor[] views = viewReg.getViews();
for (IViewDescriptor view : views) {
String viewID = view.getId();
System.out.println("View ID: " + viewID);
if (viewID.equals("org.eclipse.rse.ui.view.systemView")) {
// Do something with the view here
}
}
...并且为了可能执行 RSE 特定的操作,我尝试获取 RemoteFileSubSystem:
IRemoteFileSubSystem rfss = RemoteFileUtility.getFileSubSystem(HPCUtils.getApplication().getHPCHost());
...但无论是在 ViewDescriptor 对象中还是在 FileSubSystem 中,我都没有找到任何刷新视图或文件子系统的方法。我错过了什么?
您想要更新您构建的容器吗? IOW,您编写的扩展类org.eclipse.rse.core.subsystems.AbstractResource
?
如果是这样,请尝试此代码...
ISystemRegistry registry = SystemStartHere.getSystemRegistry();
SystemResourceChangeEvent event = new SystemResourceChangeEvent(this,
ISystemResourceChangeEvents.EVENT_REFRESH, yoursubsystem);
registry.fireEvent(event);
如果您不在自己的资源容器内,但您知道资源容器的对象,请替换this
in the SystemResourceChangeEvent
与对象一起构建。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)