2008-11-14 84 views
371

有沒有辦法讓Eclipse自動查找靜態導入?例如,現在我終於升級到了JUnit 4中,我希望能夠寫:Eclipse優化導入以包含靜態導入

assertEquals(expectedValue, actualValue); 

按Ctrl ++Ø有添加Eclipse:

import static org.junit.Assert.assertEquals; 

也許我問的太多了。

回答

537

我使用Eclipse Europa中,它也有收藏偏好部分:

窗口>首選項>的Java>編輯器>內容輔助>收藏

在我的,我有以下項(加入時,使用「新型」和省略.*):

org.hamcrest.Matchers.* 
org.hamcrest.CoreMatchers.* 
org.junit.* 
org.junit.Assert.* 
org.junit.Assume.* 
org.junit.matchers.JUnitMatchers.* 

所有,但這些第三是靜態的進口。由於具有這些爲我的最愛,如果我輸入「assertT」和命中按Ctrl +空間,Eclipse提供了高達assertThat作爲一個建議,如果我撿起它,它會正確的靜態導入添加到文件中。

19

不完全是我想要的,但我找到了解決方法。在Eclipse 3.4(木衛三),去

窗口 - >首選項 - > Java的>編輯 - >內容輔助

並勾選爲使用靜態導入(僅適用於1.5或更高版本)

這不會在一個優化進口進口帶來的,但如果這樣做就行了快速修復(CTRL + ),它會給你添加靜態導入這是不夠好選擇。

208

如果選中方法Assert.assertEquals(val1, val2)和命中按Ctrl ++中號(添加導入),將其添加爲靜態導入,至少在Eclipse 3.4。

+10

cmd-shift-M在mac上 – 2011-10-27 14:58:49

+13

在Eclipse Juno中,我只設法讓它工作,如果我只突出顯示方法,然後使用CTRL + SHIFT + M。 – ktulinho 2013-04-25 11:43:47

+3

這應該是贏家! – 2013-08-08 10:09:57

30

的Eclipse 3.4具有下窗口 - >首選項 - > Java的>編輯 - >內容一個收藏部分輔助

如果使用org.junit.Assert了很多,你可能會發現一些價值添加它。

7

Content assist for static imports

要獲取內容輔助的靜態成員的建議配置在開幕喜愛的靜態成員的喜愛偏好Java > Editor > Content Assist > Favorites頁面首選項頁面的列表。
例如,如果您已將java.util.Arrays.*org.junit.Assert.*添加到此列表中,則此類型的所有匹配完成前綴的靜態方法都將被添加到提議列表中。

打開Window » Preferences » Java » Editor » Content Assist » Favorites

enter image description here

3

對於springframework的測試,我會建議增加以下以及

org.springframework.test.web.servlet.request.MockMvcRequestBuilders 
org.springframework.test.web.servlet.request.MockMvcResponseBuilders 
org.springframework.test.web.servlet.result.MockMvcResultHandlers 
org.springframework.test.web.servlet.result.MockMvcResultMatchers 
org.springframework.test.web.servlet.setup.MockMvcBuilders 
org.mockito.Mockito 

當你在上面添加爲新的類型,它會自動添加。*到包裹。