[英]How to call method in other plugin?
我正在開發一個名為mainPage的eclipse插件,並想在名為Terminal的插件中調用一個方法。
我已經將Terminal添加到Bundle-ClassPath和Require-Bundle中,然后像這樣在mainPage中調用該方法
new ShowToolStoreCommandHandler().execute(null);
此方法是打開一個窗口。 但是調用此方法時,我有一個java.lang.NullPointerException。
我發現在終端的激活器中獲取終端的實例時,方法getDefault()返回null。
那么,如何調用此方法打開一個窗口?
在其他插件中調用方法沒有什么特別的,只要它們被設計為以這種方式調用即可。
您提到的類可能是命令處理程序,因此可以在正確設置環境的情況下從命令處理程序服務中調用它。
您可以使用IHandlerService
執行命令處理程序:
String commandId = .... the command id
IHandlerService handlerService = PlatformUI.getWorkbench().getService(IHandlerService.class);
handlerService.executeCommand(commandId, null);
這假定命令處理程序不需要event
參數,也不需要任何命令參數。 如果這樣做的話,通話將更加復雜,需要更多的研究。
“ commandId”可能會在插件的plugin.xml
中定義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.