有没有让Eclipse自动查找静态导入?例如,现在我终于升级到了Junit 4,我希望能够写下:
assertEquals(expectedValue, actualValue);
点击 Ctrl + Shift + O 并让Eclipse添加:
import static org.junit.Assert.assertEquals;
也许我问的太多了。
答案 0 :(得分:561)
我正在使用Eclipse Europa,它也有收藏夹首选项部分:
窗口>偏好> Java>编辑>内容辅助>收藏夹
在我的作品中,我有以下条目(添加时,使用“新类型”并省略.*
):
org.hamcrest.Matchers.*
org.hamcrest.CoreMatchers.*
org.junit.*
org.junit.Assert.*
org.junit.Assume.*
org.junit.matchers.JUnitMatchers.*
除了三分之外的所有内容都是静态导入。通过将这些作为收藏夹,如果我输入“assertT
”并点击 Ctrl + Space ,Eclipse会提供{{1}作为一个建议,如果我选择它,它将添加适当的静态导入到文件。
答案 1 :(得分:239)
如果您突出显示方法Assert.assertEquals(val1, val2)
并点击 Ctrl + Shift + M (添加导入),它会添加它作为静态导入,至少在Eclipse 3.4中。
答案 2 :(得分:31)
Eclipse 3.4在Window-> Preferences-> Java-> Editor-> Content Assist
下有一个收藏夹部分。如果你经常使用org.junit.Assert
,你可能会发现在那里添加它有一些价值。
答案 3 :(得分:21)
不完全是我想要的,但我找到了解决方法。在Eclipse 3.4(Ganymede)中,转到
Window-> Preferences-> Java-> Editor-> Content Assist
并选中使用静态导入(仅限1.5或更高)的复选框。
这不会带来Optimize Imports的导入,但是如果你在线上进行快速修复( CTRL + 1 ),它会为你提供选项添加足够好的静态导入。
答案 4 :(得分:10)
来自Content assist for static imports
要获取静态成员的内容辅助提议,请在打开收藏夹首选项页面
Java > Editor > Content Assist > Favorites
首选项页面上配置您喜欢的静态成员列表。
例如,如果您已将java.util.Arrays.*
或org.junit.Assert.*
添加到此列表中,则此类型的所有与完成前缀匹配的静态方法都将添加到提案列表中。
打开Window » Preferences » Java » Editor » Content Assist » Favorites
答案 5 :(得分:5)
对于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
当您将上面的内容添加为新类型时,它会自动将。*添加到包中。
答案 6 :(得分:2)
在Eclipse 4.9中,您可以使用快速修复程序静态导入现有的调用。
已实施了一个新的快速修复程序,该修补程序允许用户转换静态字段访问和静态方法以使用静态导入。也可以同时替换所有出现的内容。
答案 7 :(得分:1)
选择常量,输入
Ctrl + 1 (quick fix)
选择“转换为静态导入”。从下拉菜单中。
“快速修复”具有选项,即使这不是错误。
答案 8 :(得分:1)
静态导入的快捷方式: Ctrl + Shift + M