2014-04-30 19 views
3

我正在寫一個eclipse插件,它向用戶提供了幾個按鈕的視圖。在點擊任何按鈕時,我想將特定註釋粘貼到用戶當前正在工作的編輯器窗口以及他指向的光標位置。Eclipse插件 - 如何讓編輯器上的最後一個工作

一旦用戶單擊按鈕,編輯器窗口不再有焦點,下面的代碼不起作用。

workbench.getActiveWorkbenchWindow().getActivePage().getActiveEditor() 

如何在用戶點擊按鈕之前檢測用戶工作的編輯器窗口和光標位置?

回答

5

使用IPartListener來收聽零件激活事件。

集在視圖初始化監聽了:

getSite().getPage().addPartListener(partListener); 

(不要忘記刪除監聽器視圖處置)。

別的不說這會給你一部分激活事件:

public void partActivated(IWorkbenchPart part) 

如果partIEditorPart一個實例則是被激活的編輯。所以你只需要跟蹤這個激活的編輯器。

+0

謝謝!這就像一個魅力! –

相關問題