有没有办法让Eclipse自动查找静态导入?例如,现在我终于升级到Junit 4了,我希望能够这样写:

assertEquals(expectedValue, actualValue);

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

import static org.junit.Assert.assertEquals;

也许我要求的太多了。


当前回答

我使用的是Eclipse Europa,它也有Favorite首选项部分:

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

在我的中,我有以下条目(添加时,使用“New Type”并省略。*):

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

除三分之一外,其余都是静态进口。通过将它们作为收藏夹,如果我键入“assertT”并按Ctrl+Space, Eclipse将提供assertThat作为建议,如果我选择它,它将向文件添加适当的静态导入。

其他回答

来自静态导入的内容辅助

要获得静态成员的内容辅助建议,请在打开收藏首选项页面Java > Editor > content assist >收藏首选项页面上配置您的收藏静态成员列表。 例如,如果您添加了java.util.Arrays. arrays。*或org.junit.断言。*到这个列表中,那么所有匹配补全前缀的该类型的静态方法都将被添加到建议列表中。

打开窗口»首选项»Java»编辑器»内容帮助»收藏夹

我使用的是Eclipse Europa,它也有Favorite首选项部分:

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

在我的中,我有以下条目(添加时,使用“New Type”并省略。*):

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

除三分之一外,其余都是静态进口。通过将它们作为收藏夹,如果我键入“assertT”并按Ctrl+Space, Eclipse将提供assertThat作为建议,如果我选择它,它将向文件添加适当的静态导入。

Eclipse 3.4在窗口->首选项->Java->编辑器->内容辅助下有一个收藏夹部分

如果您经常使用org.junit.Assert,您可能会发现添加它的一些价值。

如果突出显示Assert方法。assertEquals(val1, val2)并点击Ctrl + Shift + M(添加导入),它将作为静态导入添加它,至少在Eclipse 3.4中是这样。

对于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

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