2012年12月24日 星期一

如何在Eclipse 設定 static import

圖片來源:網路

一直以來我都有一個小小的疑問,就是網路上的許多程式範例,在遇到static function的時候為什麼都可以直接呼叫function名稱,而不用把前面的物件名稱都寫出來,舉例如下:


圖片來源:mockito

像是Mockito 的所有程式範例都是直接呼叫static function
Foo foo = mock(Foo.class)
而不是寫成
Foo foo = Mockito.mock(Foo.class)

雖然就只是多要打Mockito但是就覺得很礙眼不舒服,而且明明範例都不用這樣寫啊?在偶然的機會下看到這篇文章 Working With Static Imports in Eclipse 才頓時恍然大悟,原來是要先在Eclipse 裡面動手腳,讓Eclipse 認的出來(只能說Eclipse 真的還有好多秘技功能我都不知道...@@)

設定Static Import


打開Eclispe,然後設定的路徑如下:Window » Preferences » Java » Editor » Content Assist » Favorites,先要確認Content Assist 的部份有把Add import instead of qualified name 和 Use static imports 有勾起來。





然後在Favorites 的部份填入你常用的Static import library package 名稱 




建議可以加入常用的Static function如下:

org.junit.*
org.junit.Assert.*
org.junit.Assume.*
org.junit.matchers.JUnitMatchers.*
org.mockito.Mockito.*
com.google.common.base.*


第一次使用時,記得最好先使用alt+/ 去產生 code completion,看看設定有沒有成功,如果看到以下畫面就代表成功了。





Reference:
[1] Working With Static Imports in Eclipse
[2] Generate static imports in Eclipse on autocomplete for JUnit Assert, StringUtils and others

張貼留言