gpt4 book ai didi

java - 如何以编程方式刷新 Eclipse View 或 RSE 文件子系统?

转载 作者:行者123 更新时间:2023-12-04 06:17:33 24 4
gpt4 key购买 nike

如何以编程方式更新 Eclipse View ? (我想这可能不需要特定于 RSE?)。

背景:我使用 Remote System Explorer (RSE)对于 Eclipse,通过 SSH 执行远程命令来做一些事情,这会在远程主机上创建新文件。我意识到远程系统 View 中的 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 中,我都找到了刷新 View 或文件子系统的任何方法。我错过了什么?

最佳答案

您是否希望刷新您构建的容器? IOW,您编写的一个扩展了 org.eclipse.rse.core.subsystems.AbstractResource 的类?

如果是这样,试试这个代码......

ISystemRegistry registry = SystemStartHere.getSystemRegistry();

SystemResourceChangeEvent event = new SystemResourceChangeEvent(this,
ISystemResourceChangeEvents.EVENT_REFRESH, yoursubsystem);

registry.fireEvent(event);

如果您不在自己的资源容器中,但知道资源容器的对象,请替换 thisSystemResourceChangeEvent与对象的构造。

关于java - 如何以编程方式刷新 Eclipse View 或 RSE 文件子系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7039349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com