Eclipse Optimize Imports to Include Static Imports
有没有办法让Eclipse自动查找静态导入?例如,现在我终于升级到了JUnit4,我想能够写:
1 | assertEquals(expectedValue, actualValue); |
点击ctrl+shift+o,让Eclipse添加:
1 | import static org.junit.Assert.assertEquals; |
也许我要求太多了。
我正在使用Eclipse Europa,它也有最喜欢的首选项部分:
Window > Preferences > Java > Editor > Content Assist > Favorites
在我的系统中,我有以下条目(添加时,使用"新类型"并省略EDOCX1[2]):
1 2 3 4 5 6 | org.hamcrest.Matchers.* org.hamcrest.CoreMatchers.* org.junit.* org.junit.Assert.* org.junit.Assume.* org.junit.matchers.JUnitMatchers.* |
除了三分之一,其余都是静态导入。如果我输入"
如果突出显示方法
Eclipse 3.4在Window >首选项> java>编辑器>内容帮助下有一个收藏夹部分
如果你经常使用
不完全是我想要的,但我找到了一个解决办法。在Eclipse 3.4(Ganymede)中,转到
Window->Preferences->Java->Editor->Content Assist
选中"使用静态导入"复选框(仅1.5或更高)。
这不会在优化导入时引入导入,但如果在行上执行快速修复(ctrl+1),则可以选择添加足够好的静态导入。
从内容辅助静态导入
To get content assist proposals for static members configure your list of favorite static members on the Opens the Favorites preference page
Java > Editor > Content Assist > Favorites preference page.
For example, if you have addedjava.util.Arrays.* ororg.junit.Assert.* to this list, then all static methods of this type matching the completion prefix will be added to the proposals list.
打开
对于SpringFramework测试,我建议也添加以下内容
1 2 3 4 5 6 | 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 |
当您将以上内容作为新类型添加时,它会自动将*添加到包中。
在Eclipse4.9中,可以使用快速修复静态导入现有调用。
A new quick fix has been implemented that allows the user to convert static field accesses and static methods to use a static import. It's also possible to replace all occurrences at the same time.
此处提供更多详细信息
静态导入的快捷方式:Ctrl+Shift+M
选择常量,类型
1 | Ctrl + 1 (quick fix) |
从下拉列表中选择"转换为静态导入"。
即使不是错误,"快速修复"也有选项。