2011-01-30 55 views
0

我正在努力開發一個Eclipse插件。通常,您應該能夠在Java編輯器中選擇一些Java代碼行,然後單擊按鈕並使用所選代碼執行某些操作。編寫Eclipse插件,如何訪問Java編輯器的活動選擇?

我怎樣才能實際訪問這個特定的Java編輯器和插件的選擇?作爲一個框架,我使用這個簡單的Hello World示例,它向工具欄添加一個按鈕,單擊時彈出一個對話框。

我唯一擁有的是IWorkbenchWindow的實例。使用這個API,我會得到一個IEditorPart調用window.getActivePage().getActiveEditor(),這似乎是對我的目的很沒用......

任何幫助,高度讚賞

乾杯 -Frank

回答

0

您應該能夠這樣做: ((JavaEditor)window.getActivePage()。getActiveEditor())。getSelectionProvider()。getSelection()

但是,這聽起來像你試圖根據選擇調用IAction。大概這是通過一個editorActions擴展點(或類似的東西)註冊的。如果是這樣,我會查看SelectionDispatchAction類,它根據當前選擇(如名稱所示)分派操作。這個類是內部API,但您仍然可能會發現它很有用。

0

您可以使用window.getSelectionService().getSelection(),它可以爲您提供表示活動部件中的活動選擇的對象ISelection。檢查這種返回你的ISelection什麼類型,並採取相應的行動。