有没有办法在Eclipse中自定义默认导入?
例如,如果我默认打开一个新的JUnit Test Class,我会得到这些导入:
import static org.junit.Assert.*;
import org.junit.Test;
我想得到什么:
import static org.junit.Assert.*;
import org.junit.Test;
import static org.hamcrest.Matchers.*;
答案 0 :(得分:12)
不幸的是,Eclipse在重构和创建新实体时非常缺乏代码生成的可自定义性。
您可能需要查看Eclipse Optimize Imports to Include Static Imports以获取有关如何使内容辅助在预定义类中查找静态方法的信息。那可能就是你真正想要的。在接受的答案中,Joey Gibson写道,您可以将org.hamcrest.Matchers
添加到窗口»首选项»Java»编辑器»内容辅助»收藏夹。
静态导入Hamcrest方法的特定问题的另一个解决方案是配置名为hamcrest的代码模板。这样你只需键入 ham 并跟进 ctrl + space 即可获得最高导入。
模板应该看起来像
${staticImport:importStatic('org.hamcrest.Matchers.*')}${cursor}
更方便的一种方法是将此模板添加到已存在的test
代码模板中,该代码模板会生成新的测试方法。如果您将此模板更改为:
@${testType:newType(org.junit.Test)}
public void ${testName}() throws Exception {
${staticImport1:importStatic('org.hamcrest.Matchers.*')}
${staticImport2:importStatic('org.junit.Assert.*')}${cursor}
}
并在每次使用新的测试方法时使用它,您将永远不必关心再次手动添加hamcrest导入。
显示配置位置的图片:
答案 1 :(得分:7)
我能找到的最接近的偏好是窗口下的那个 - >偏好 - > Java - >代码模板。展开代码部分并选择新建Java文件选项以查看新创建的Java文件的模式。然后,您可以点击修改添加导入,例如:
${filecomment}
${package_declaration}
import org.hamcrest.*;
${typecomment}
${type_declaration}
在所有情况下,您仍然需要编写使用org.hamcrest
包的代码。或者,只需在添加使用该包的代码后按 Ctrl + Shift + O 组织导入。
答案 2 :(得分:5)
我建议您将org.hamcrest.Matchers.*
添加到“收藏夹”(窗口 - &gt;偏好设置 - &gt; Java - &gt;编辑器 - &gt;内容辅助 - >收藏夹)。< / p>
这样,即使导入丢失,内容辅助也会提出静态成员,并在使用该成员时添加相应的导入。 这意味着您可以键入要使用的方法/字段,并让内容辅助自动添加导入。
答案 3 :(得分:0)
现代IDE提供了一个名为Organize Imports的功能。使用此功能,您不再担心这些导入语句,IDE本身会管理这些导入。
编写代码时,只要您想让IDE组织导入,就应该按下快捷键。
键盘: Ctrl + Shift + O
菜单: Source
→ Organize Imports
IDE搜索您的代码并查找每个类并添加相应的import语句。还将删除未使用的导入类。
答案 4 :(得分:-5)
在Netbeans中,您可以浏览,工具 - &gt;模板 - &gt; java文件夹 - &gt; 您可以在打开页面时提供您需要的内容示例:将会是Java类,接口,枚举,异常等