我知道Visual Studio有更复杂的功能,但Eclipse是否有一个非常好的重构工具,比少量内置的重构更好?
最好是免费的。
(更新)
希望做一些事情,比如把文件中的所有字符串文字都放在一起,然后使它们成为常量 以某种自动化方式解决大量PMD错误。
答案 0 :(得分:4)
我知道您更喜欢Eclipse的免费插件,但如果您喜欢ReSharper并且必须使用Java,请查看InteliJ IDEA http://www.jetbrains.com/idea/index.html。这是ReSharper的原创灵感,也是由JetBrains开发的。我相信它具有RS的大部分相同的重构功能,并且还支持相同的键盘方案(如果你选择在VS中使用inteliJ方案)。如果你尝试过,让我们C#伙伴知道它与你的RS体验相比如何
答案 1 :(得分:2)
这并没有真正回答你的问题,但我无法将其正确地格式化为评论。
这是一种在日食中将字符串提取为常量的好方法。 (直到几周前我才知道挑出的字符串)
我们有这一行:
System.out.println("This Line Contains a constant The 42 Constant that is stuck inside");
首先用鼠标光标和ctrl-1 +“挑选出选定的字符串”标记所需的常量,结果是:
System.out.println("This Line Contains a constant " + "The 42 Constant" +" that is stuck inside");
现在你可以将鼠标光标放在拾取的常量和Alt + Shift + T上,而不是一个(提取常量),它将生成常量THE_42_CONSTANT作为私有静态最终字符串
private static final String THE_42_CONSTANT = "The 42 Constant";
...
...
System.out.println("This Line Contains a constant " + THE_42_CONSTANT+ " that is stuck inside");
希望这是你真正想要的,当然你可以调整eclipse中aboe动作的热键
答案 2 :(得分:1)
Jackpot是javac内置的重构语言。这是James Goslings项目,并成为Netbeans重构模块的核心。它本质上是一种模式匹配语言,与AST匹配。
有了它,你可以编写自己的模式。
修改:将链接更改为更实时(后Oracle)链接。我不知道这是否仍然是一个可行的独立项目,尽管Netbeans现在是100%开源。
答案 3 :(得分:0)
一些像Checkstyle这样的插件插入快速修复框架并允许立即进行大规模修复。但是你要找的东西应该插入现有的重构框架,而不是替换它。