在我的Eclipse插件中,我需要知道屏幕上可见的编辑器何时发生了变化。我目前正在使用如下活动编辑器:
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor()
除了按下绿色的“继续”按钮时,这适用于大多数情况:
如果我使用F8快捷方式,则活动编辑器会按预期更新。
似乎在编辑器选项卡获得焦点之前不会更新活动编辑器属性(按下“继续”按钮时不会发生这种情况。)
我可以采取其他途径来获取“可见编辑器”吗?
提前致谢。
艾伦
答案 0 :(得分:2)
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences()
答案 1 :(得分:1)
IWorkbenchPage interface has an
isPartVisible()`方法,指示指定的部分是否可见。结果不取决于指定的部分当前是否处于活动状态,即是否具有焦点。
要查找可见但当前不活动的编辑器,仅在活动工作台页面上调用此方法可能不够。相反,您可能必须遍历所有工作台窗口并检查编辑器在每个工作台页面上的可见性。
答案 2 :(得分:0)
问题类似于以下链接中发布的问题。实现此目的的一种方法是通过创建零件侦听器来跟踪先前打开的编辑器。 Eclipse Plugin - How to get the last worked on editor