如何获得“活跃编辑器"在 Eclipse 插件中?

在我的 Eclipse 插件中,我需要知道屏幕上可见的编辑器何时发生了变化.我目前正在获取活动编辑器,如下所示:

In my Eclipse plugin, I need to know when the editor that is visible on the screen has changed. I am currently getting the active editor as follows:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor()

这适用于大多数情况,但按下绿色继续按钮时除外:

This works for most cases except for when the green Continue button is pressed:

如果我使用 F8 快捷键,那么活动编辑器会按预期更新.

If I use the F8 shortcut then the active editor is updated as expected.

在编辑器选项卡获得焦点之前,活动编辑器属性似乎不会更新(按下继续按钮时不会发生这种情况).

It seems that the active editor property is not updated until the editor tab gets focus (which doesn't happen when the Continue button is pressed).

我还有其他途径可以获得可见编辑器"吗?

Is there any other route that I can take to get the "visible editor"?

提前致谢.

艾伦

推荐答案

  1. 编辑器只有在获得焦点时才处于活动状态,因此您得到的是 API 的正确输出.您的插件的用户不会在调试模式下运行它,因此最终用户不必担心
  2. 或者,要获取所有打开的编辑器,您可以执行以下操作:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences()

相关文章