双击 Eclipse Project Explorer 中的资源不会打开第二个文件

Double clicking a resource in Eclipse Project Explorer does not open the second file

在基于 Eclipse 的应用程序 (RCP) 中,当双击出现在项目资源管理器中的文件时,对于第一个文件,这将起作用——关联的编辑器将打开。但是,当再次双击文件时,它不会打开。如果您单击 Project Explorer 外的某处,然后 return 到 Project Explorer,则第二次双击将起作用。

请注意,右键单击资源并选择“打开”始终有效。此外,在 Package Explorer 中它始终有效。

我认为这与 eclipse 错误有关 285239 and 256761

作为 RCP 开发人员,有谁知道我可以克服这个问题的方法。文件编辑器是我的一个插件中的自定义编辑器。

对于 java 开发的标准 eclipse 中的 java 文件,问题似乎没有发生在我身上。

谢谢,
埃亚尔

我通过在编辑器 class 上实现 setFocus 方法解决了这个问题。在 setFocus 中,我将焦点设置到某个组件。 (准确地说,在我的例子中,编辑器是 SharedHeaderFormEditor 的子 class,所以我将焦点设置到活动页面)。

事实是 IWorkbenchPartsetFocus 方法的规范要求您 "assign the focus to one of the controls contained in the part's parent composite"。似乎在某些情况下 setFocus 的默认实现并没有这样做(我不知道为什么,也许我遗漏了什么或其他原因)。

请注意,从编辑器初始化部分将焦点显式设置到控件也可以解决问题。