簡體   English   中英

如何在其他插件中調用方法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM