top
Loading...
Eclipse插件編程之Implementors
本文介紹如何利用Eclipse插件Implementors在Eclipse中的使用。

Eclipse是目前非常流行的開發平臺,開放擴展的架構讓很多程序員找到了自己個性化的工作環境。

問題提出:

如果你想看看某個類或者方法的實現,一般是Ctrl + 鼠標左鍵,單擊即可以打開這個類或者方法的具體實現代碼。但是如果碰到接口時,只是到達接口而已,不能到達具體的實現類里。

解決方法:利用Eclipse的Implementors插件。

當追蹤方法代碼時,Eclipse默認是轉到方法的接口類,而接口中是只有方法名稱沒有具體的實現代碼,此插件提供了追蹤到具體實現類的實現代碼的功能。

另外還有Call Hierarchy插件: 顯示一個方法的調用層次,可以從中看到它被哪些方法調用了,以及它調用了哪些方法,是代碼追蹤比較實用的工具。Eclipse 3.1中已經自帶有這個功能了。這個插件就不用另加介紹了。

安裝


JDK:1.5.0 從http://java.sun.com上去下載安裝
Eclipse:3.1.1 從http://www.eclipse.org 上去下載解壓
Implementors 從http://eclipse-tools.sourceforge.net/implementors/

技巧


Eclipse使用技巧之插件管理

提示:新下載的插件PlugIn一定不要都放在原始的Eclipse目錄下去,一大堆,累死你。
  1. 前提是你已經安裝好了Eclipse工具了,比如安裝在E:OpenSourceEclipse目錄下,以下這個目錄以%ECLIPSE_HOME%來進行表示;
  2. 此時默認的插件是在%ECLIPSE_HOME%plugins目錄中的;
  3. 在%ECLIPSE_HOME%下建立一個PlugInsNew的目錄;
    比如:E:OpenSourceEclipsePlugInsNew
  4. 你下載了個新的插件,比如叫做:XYZ

    那么就在%ECLIPSE_HOME%PlugInsNew目錄下建立XYZ目錄,目錄里面是eclipse目錄,eclipse目錄包含有features與plugins兩個子目錄;結構如下圖所示:



  5. 把下載的新插件的文件放在以下相應目錄中

    %ECLIPSE_HOME%PlugInsNewXYZeclipsefeatures
    %ECLIPSE_HOME%PlugInsNew XYZeclipseplugins

  6. 建立相關的.link的文件

    然后在%ECLIPSE_HOME%links目錄里建立一個XYZ.link的文件

    內容如是:path=E:/OpenSource/Eclipse/PlugInsNew/XYZ就一行這樣的路徑指示而已。

    這樣,如果你下載了多個插件就可以如法炮制建立多個Link文件,想加載哪個插件就把哪個插件的Link文件放到 %ECLIPSE_HOME%links的目錄中即可,使用與管理都很方便,建議千萬不要放在默認的安裝目錄中;
    如果你的%ECLIPSE_HOME%與此不同,請修改XYZ.link文件里的路徑

  7. 刪除,關閉Eclipse

    刪除%ECLIPSE_HOME%linksXYZ.link文件即可

    刪除%ECLIPSE_HOME%PlugInsNewXYZ整個目錄及文件

  8. 重新啟動Eclipse即可
使用

Implementors插件安裝方法采用上一節的《Eclipse使用技巧之插件管理》

重新啟動Eclipse后,在代碼編輯區域,右鍵,可以看到增加了兩個右鍵菜單Open Interface和Open Implementation,如下圖所示:



我們簡單地創建一個示例工程,里面包含有一個接口類與兩個實現該接口的實現類進行演示說明使用的方法。
接口類:IHelloWorld.java public interface IHelloWorld {  String sayHelloWorld(); } 
實現類一:HelloWorld1.java public class HelloWorld1 implements IHelloWorld { public HelloWorld1() { super(); } public String sayHelloWorld() { return "Hello World HelloWorld1"; } } 實現類二:HelloWorld2.java public class HelloWorld2 implements IHelloWorld { public HelloWorld2() { super(); } public String sayHelloWorld() { return "Hello World HelloWorld2"; } }
在接口類IHelloWorld.java的方法sayHelloWorld()上面右鍵,在彈出的菜單中選擇Open Implementation,如下圖所示:



 
單擊菜單Open Implementation,于是會彈出該接口方法的相關實現類出來供你選擇,如果該接口方法的實現類只有一個的話,就會直接跳轉到實現類的代碼上去了,不會出現提示選擇框的。



我們先選擇實現類HelloWorld1,于是光標就會定位到實現類HelloWorld1.java的sayHelloWorld()方法上,并會加亮顯示,如下圖:



 
再回到在接口類IHelloWorld.java的方法sayHelloWorld()上面右鍵,在彈出的菜單中選擇Open Implementation,如下圖所示:



這次我們選擇實現類HelloWorld2,于是光標就會定位到實現類HelloWorld2.java的sayHelloWorld()方法上,并會加亮顯示,如下圖:



 
在接口中可以找到具體的實現,那在實現類里如何反查接口的定義呢?

操作如下:在接口的實現類HelloWorld2.java的方法sayHelloWorld()上面右鍵,在彈出的菜單中選擇Open Interface,如下圖所示:



于是光標就會定位到接口類IHelloWorld.java的sayHelloWorld()方法上,并加亮顯示,如下圖:



當然,如果你的方法沒有相應的接口就不會去進行跳轉了。

總結


此插件的功能雖小,但是方便了許多,估計在未來的Eclipse版本中會把這個功能集成進去了,就象Call Hierarchy插件一樣。
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗