Eclipse优化导入以包含静态导入

无论如何,让Eclipse自动查找静态导入? 例如,现在我已经升级到Junit 4,我希望能够写出:

assertEquals(expectedValue, actualValue); 

按Ctrl + Shift + O并让Eclipse添加:

 import static org.junit.Assert.assertEquals; 

也许我问得太多了。

我正在使用Eclipse Europa,它也有collections偏好部分:

窗口>首选项> Java>编辑器>内容辅助>collections夹

在我的,我有以下项目(添加时,使用“新types”,并省略.* ):

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

所有这些都是静态import。 通过把这些作为collections夹,如果我input“ assertT ”并按下Ctrl + Space ,Eclipse提供了一个assertThat作为一个build议,如果我select它,它会添加适当的静态导入到文件。

如果突出显示方法Assert.assertEquals(val1, val2)并按Ctrl + Shift + M (添加导入),则会将其添加为静态导入,至less在Eclipse 3.4中是这样。

Eclipse 3.4在Window-> Preferences-> Java-> Editor-> Content Assist下有一个Favorites部分

如果您使用org.junit.Assert很多,您可能会发现一些值添加到那里。

不完全是我想要的,但我find了解决办法。 在Eclipse 3.4(Ganymede)中,转到

Window-> Preferences-> Java-> Editor-> Content Assist

并选中“ 使用静态导入”(仅限1.5或更高版本)checkbox。

这不会在Optimize Imports中引入导入,但是如果您在该行上执行Quick Fix( CTRL + 1 ),则会为您提供添加足够好的静态导入的选项。

从内容辅助静态导入

要获取静态成员的内容协助提议,请在打开“collections夹”首选项页面Java > Editor > Content Assist > Favorites首选项页面上configurationcollections夹静态成员的列表。
例如,如果您已将java.util.Arrays.*org.junit.Assert.*添加到此列表中,则此types的所有匹配完成前缀的静态方法都将被添加到提议列表中。

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

在这里输入图像说明

通过http://www.3pintech.com/products/fast-code/插件,您可以静态导入一个类。; 然后所有的静态成员将作为代码协助。 你可能想看看这个。

对于SpringFrameworktesting,我build议添加下面的内容

 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 

当你添加上面的新types时,它会自动将。*添加到包中。