无论如何让Eclipse自动查找静态导入?例如,现在我终于升级到了Junit 4,我希望能够写:
assertEquals(expectedValue, actualValue);
按Ctrl Shift O并让Eclipse添加:
import static org.junit.Assert.assertEquals;
也许我问的太多了 .
我正在使用Eclipse Europa,它也有收藏夹首选项部分:
窗口>首选项> 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 作为建议,如果我选择它,它会将正确的静态导入添加到文件中 .
assertT
assertThat
如果突出显示方法 Assert.assertEquals(val1, val2) 并按Ctrl Shift M(添加导入),它将添加为静态导入,至少在Eclipse 3.4中 .
Assert.assertEquals(val1, val2)
Eclipse 3.4在Window-> Preferences-> Java-> Editor-> Content Assist下有一个Favorites部分
如果你经常使用 org.junit.Assert ,你可能会发现在那里添加它有一些 Value .
org.junit.Assert
不完全是我想要的,但我找到了一个解决方法 . 在Eclipse 3.4(Ganymede)中,转到
Window-> Preferences-> Java-> Editor-> Content Assist
并选中 Use static imports (only 1.5 or higher) 的复选框 .
这不会导致优化导入的导入,但如果你在线上执行快速修复(CTRL 1),它将为您提供添加静态导入的选项,这是足够好的 .
来自Content assist for static imports
要获取静态成员的内容辅助提议,请在打开收藏夹首选项页面Java>编辑器>内容辅助>收藏夹首选项页面上配置您喜欢的静态成员列表 . 例如,如果已将java.util.Arrays . *或org.junit.Assert . *添加到此列表中,则此类型的所有与完成前缀匹配的静态方法将添加到提议列表中 .
打开 Window » Preferences » Java » Editor » Content Assist » Favorites
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
当您将上面的内容添加为新类型时,它会自动将 . *添加到包中 .
在Eclipse 4.9中,您可以使用快速修复静态导入现有调用 .
已实现新的快速修复,允许用户转换静态字段访问和静态方法以使用静态导入 . 也可以同时替换所有出现的事件 .
More details here
选择常量,类型
Ctrl + 1 (quick fix)
选择“转换为静态导入” . 从下拉 .
即使不是错误,“快速修复”也有选项 .
静态导入的快捷方式:CTRL SHIFT M.
9 回答
我正在使用Eclipse Europa,它也有收藏夹首选项部分:
在我的,我有以下条目(添加时,使用"New Type"并省略
.*
):除了三分之外的所有都是静态进口 . 通过将它们作为收藏夹,如果我输入“
assertT
”并点击 Ctrl+Space ,Eclipse会提供assertThat
作为建议,如果我选择它,它会将正确的静态导入添加到文件中 .如果突出显示方法
Assert.assertEquals(val1, val2)
并按Ctrl Shift M(添加导入),它将添加为静态导入,至少在Eclipse 3.4中 .Eclipse 3.4在Window-> Preferences-> Java-> Editor-> Content Assist下有一个Favorites部分
如果你经常使用
org.junit.Assert
,你可能会发现在那里添加它有一些 Value .不完全是我想要的,但我找到了一个解决方法 . 在Eclipse 3.4(Ganymede)中,转到
并选中 Use static imports (only 1.5 or higher) 的复选框 .
这不会导致优化导入的导入,但如果你在线上执行快速修复(CTRL 1),它将为您提供添加静态导入的选项,这是足够好的 .
来自Content assist for static imports
打开
Window » Preferences » Java » Editor » Content Assist » Favorites
对于SpringFramework测试,我建议也添加以下内容
当您将上面的内容添加为新类型时,它会自动将 . *添加到包中 .
在Eclipse 4.9中,您可以使用快速修复静态导入现有调用 .
More details here
选择常量,类型
选择“转换为静态导入” . 从下拉 .
即使不是错误,“快速修复”也有选项 .
静态导入的快捷方式:CTRL SHIFT M.