我有一个由其他人创建的项目,其中包括数千个类文件,并为每个对其任何类的引用显式键入包名。看起来代码是反向工程的。有没有一个很好的Java工具可以重构代码,以便从类引用中删除显式类型的包前缀,并将其移动到import语句中。
提前谢谢你。
编辑:
我想举个例子会有所帮助。我想把进口放在最上面,我不关心有多少进口。
javax.swing.JButton button1 = new javax.swing.JButton();
想象一下上面的代码,但是在成千上万的类文件中,成千上万行的代码无处不在。我希望能够删除所有的前缀,并在每个类文件的顶部有一个很好的导入javax.swing.JButton;。
发布于 2010-01-27 05:03:13
我不知道用于此用例的工具,但几个月前我不得不做类似的事情。
提示:为了避免歧义,设置类路径的库不超过所需的库。大约800节课,我在2个小时内完成了。
编辑:您应该知道,在Prefeneces/Java/Editor/Save操作中,可以将组织导入配置为保存操作。
发布于 2010-01-27 05:32:08
对于单一类型,eclipse提供了'Add import‘操作(Shift+Ctrl+M)。它做的正是你想要的--有一个很大很大的限制:你必须把光标放在一个类型上,它只会影响那个“选中”的事件。
但是也许这个操作可以在脚本/全局方法中使用。JDT插件可以遍历AST,并在找到的每个类型上调用此操作。
发布于 2010-01-27 04:56:30
选择包资源管理器视图,右键单击您的项目,选择源代码,然后组织导入。跳过你的叔叔-所有不需要的导入都会被删除
要使其更好地格式化:
Right click project > Source > Organize imports
现在,剩下的就是找到一种从代码中剥离完全限定名称的方法。你可能会想到一些正则表达式。看看this library --它看起来很有帮助。This article也应该是有用的。
https://stackoverflow.com/questions/2142537
复制相似问题