我想用一些“最喜欢的”静态方法集合配置Eclipse,但不使用静态导入。
例如,如果我在Window»Preferences»Java»Editor»Content Assist»Favorites中添加com.google.common.collect.Lists
列表,我可以输入“newA
”,按Ctrl-空格键,然后选择{该列表中的{1}}方法。但是:
1)如果在Preferences»Java»Editor»Content Assist中启用了“静态导入”,结果是Eclipse为Lists.newArrayList
添加了静态导入,并将我的代码自动完成为com.google.common.collect.Lists.newArrayList
。
2)如果禁用“静态导入”,则:
2.a)如果未导入具有静态方法的类,则会为该类添加导入,并自动完成newArrayList(...)
,这正是我想要的。然而,
2.b)如果已经导入了带有静态方法的类,那么它只是自动完成到Lists.newArrayList(...)
,这当然不能编译。
我的问题是:有没有办法配置Eclipse,以便(2.b)一直表现得像(2.a)? (即,即使已经导入了类,它也会使用类名前缀自动完成喜欢的静态方法。)
答案 0 :(得分:1)
不完全如此,但您可以定义模板,当您选择它时,您将同时获得导入和代码。转到Window -> Preferences -> Java -> Editor -> Templates
,添加名称为newA
且格式为${staticImport:importStatic('com.google.common.collect.Lists')}Lists.newArrayList(${cursor})
在您的方法正文中,输入newA
并点击CTRL+Space
,您会看到以下内容: