有没有办法让Eclipse自动查找静态导入?例如,现在我终于升级到Junit 4了,我希望能够这样写:
assertEquals(expectedValue, actualValue);
按Ctrl + Shift + O,让Eclipse添加:
import static org.junit.Assert.assertEquals;
也许我要求的太多了。
有没有办法让Eclipse自动查找静态导入?例如,现在我终于升级到Junit 4了,我希望能够这样写:
assertEquals(expectedValue, actualValue);
按Ctrl + Shift + O,让Eclipse添加:
import static org.junit.Assert.assertEquals;
也许我要求的太多了。
当前回答
虽然不是我想要的,但我找到了变通办法。在Eclipse 3.4 (Ganymede)中,转到
窗口- >首选项- > Java - >编辑- >内容辅助
并选中“使用静态导入(仅1.5或更高版本)”复选框。
这将不会在优化导入中引入导入,但如果你在行上执行快速修复(CTRL + 1),它将为你提供添加静态导入的选项,这就足够了。
其他回答
我使用的是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作为建议,如果我选择它,它将向文件添加适当的静态导入。
对于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
当你添加上面的新类型时,它会自动添加。*到包中。
在Eclipse 4.9中,您可以使用快速修复程序静态导入现有调用。
实现了一个新的快速修复,允许用户将静态字段访问和静态方法转换为使用静态导入。同时替换所有事件也是可能的。
详情请点击这里
如果突出显示Assert方法。assertEquals(val1, val2)并点击Ctrl + Shift + M(添加导入),它将作为静态导入添加它,至少在Eclipse 3.4中是这样。
静态导入快捷方式: CTRL + shift + m