如何在Eclipse插件中获得"主动编辑器"?

Ala*_*ark 13 java eclipse eclipse-plugin eclipse-cdt eclipse-jdt

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

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor()
Run Code Online (Sandbox Code Playgroud)

这适用于大多数情况,除非按下绿色的"继续"按钮:

调试器按钮

如果我使用F8快捷方式,则活动编辑器将按预期更新.

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

有没有其他路线我可以采取"可见编辑器"?

提前致谢.

艾伦

cod*_*mer 2

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

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