反正有没有让 Eclipse 自动查找静态导入?例如,现在我终于升级到 Junit 4,我希望能够编写:
assertEquals(expectedValue, actualValue);
点击Ctrl++并让 Eclipse 添加Shift:O
import static org.junit.Assert.assertEquals;
也许我要求太多了。
反正有没有让 Eclipse 自动查找静态导入?例如,现在我终于升级到 Junit 4,我希望能够编写:
assertEquals(expectedValue, actualValue);
点击Ctrl++并让 Eclipse 添加Shift:O
import static org.junit.Assert.assertEquals;
也许我要求太多了。
我正在使用 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 会提供assertThat
建议,如果我选择它,它将向文件添加正确的静态导入。
如果突出显示该方法Assert.assertEquals(val1, val2)
并点击Ctrl++ (添加导入Shift)M,它会将其添加为静态导入,至少在 Eclipse 3.4 中是这样。
Eclipse 3.4 在 Window->Preferences->Java->Editor->Content Assist 下有一个收藏夹部分
如果您使用org.junit.Assert
很多,您可能会发现将其添加到那里有一些价值。
不完全是我想要的,但我找到了解决方法。在 Eclipse 3.4 (Ganymede) 中,转到
窗口->首选项->Java->编辑器->内容辅助
并选中Use static imports (only 1.5 or higher)复选框。
这不会在优化导入中引入导入,但如果您在线上执行快速修复 ( CTRL+ 1),它将为您提供添加静态导入的选项,这已经足够好了。
要获取静态成员的内容辅助建议,请在“打开收藏夹”首选项页面
Java > Editor > Content Assist > Favorites
首选项页面上配置您的收藏静态成员列表。
例如,如果您已将java.util.Arrays.*
或添加org.junit.Assert.*
到此列表中,则与完成前缀匹配的此类型的所有静态方法都将添加到提案列表中。
打开Window » Preferences » Java » Editor » Content Assist » Favorites
对于 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
当您将上面添加为新类型时,它会自动将 .* 添加到包中。
静态导入快捷键:CTRL + SHIFT + M
选择常数,输入
Ctrl + 1 (quick fix)
选择“转换为静态导入”。从下拉。
“快速修复”有选项,即使它不是错误。