【问题标题】:Eclipse Plugin - How to get the last worked on editorEclipse Plugin - 如何获得最后的编辑器
【发布时间】:2014-04-30 13:28:07
【问题描述】:
我正在编写一个 Eclipse 插件,它通过几个按钮向用户展示一个视图。单击任何按钮时,我想将某个评论粘贴到用户当前正在工作的编辑器窗口中以及他指向的光标位置。
一旦用户点击按钮,编辑器窗口不再有焦点,下面的代码也不起作用。
workbench.getActiveWorkbenchWindow().getActivePage().getActiveEditor()
如何在用户单击按钮之前检测用户正在工作的编辑器窗口和光标位置?
【问题讨论】:
标签:
eclipse
eclipse-plugin
text-editor
eclipse-jdt
【解决方案1】:
使用IPartListener 监听部件激活事件。
在视图初始化中设置监听器:
getSite().getPage().addPartListener(partListener);
(别忘了在视图 dispose 中移除监听器)。
除其他外,这将为您提供部分激活事件:
public void partActivated(IWorkbenchPart part)
如果part 是IEditorPart 的一个实例,那么它就是一个被激活的编辑器。所以你只需要跟踪这个激活的编辑器。