我正在编写一个 Eclipse 插件,它通过几个按钮向用户公开一个视图。单击任何按钮时,我想将特定注释粘贴到用户当前正在工作的编辑器窗口中以及他指向的光标位置。
一旦用户单击该按钮,编辑器窗口就不再具有焦点,并且以下代码不起作用。
workbench.getActiveWorkbenchWindow().getActivePage().getActiveEditor()
如何检测用户正在工作的编辑器窗口以及用户单击按钮之前的光标位置?
Use an IPartListener
监听部件激活事件。
在视图初始化中设置监听器:
getSite().getPage().addPartListener(partListener);
(并且不要忘记在视图处置中删除侦听器)。
除此之外,这将为您提供部件激活事件:
public void partActivated(IWorkbenchPart part)
If part
是一个实例IEditorPart
那么它就是一个被激活的编辑器。所以你只需要跟踪这个激活的编辑器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)