IDEA能否像Resharper一样提出if / else建议?

时间:2013-08-07 21:18:49

标签: intellij-idea

IDEA的开发人员也是Resharper的开发人员。我喜欢Resharper建议重构if / else的方式。

IDEA可以这样做吗?默认情况下不会出现此功能。

修改

以下是我所指的一些Resharper功能:

Original code:

static public string ToNonNullString(this XmlAttribute attr)
{
    if (attr != null)
        return attr.Value;
    else
        return string.Empty;
}

Suggestion: remove redundant 'else' resulting in following:

static public string ToNonNullString(this XmlAttribute attr)
{
    if (attr != null)
        return attr.Value;
    return string.Empty;
}

来源在这里( Code suggestions by Resharper making code less readable?)。

我记得当我使用Visual Studio和Resharper时,我得到了很多类似的建议。虽然我已经使用了2年,但在IDEA中还没有看到它。

1 个答案:

答案 0 :(得分:3)

是的,它可以。使用此Java代码:

public class Test {
    public String notNull(String str) {
        if (str != null) {
            return str;
        } else {
            return "empty";
        }
    }
}

Show intentions上按 Alt + Enter else)时,我得到以下建议: Options

选择Remove Redundant 'else'会将方法转换为:

public String notNull(String str) {
    if (str != null) {
        return str;
    }
    return "empty";
}

您可以在运行检查时自动生成IDEA报告。在“设置”中,转到“检查”,在“控制流”类别中查找Confusing 'else' branch。然后查看Also report when there are no more statements after the 'if' statementinspections

然后使用该配置文件运行检查将显示您有一个令人困惑的else分支,您可以通过单击修复它。

remove