可以在一行语句中定义if-else。
if (isFormed)
if (i == 1)
System.out.println("i is 1");
else
System.out.println("i is undefined");
我需要在使用我的eclipse插件的大括号语句中包围一行。
这就是我试过的
node.accept(new ASTVisitor() {
@Override
public boolean visit(IfStatement ifStatement) {
//Add Block in case of IfStatemnet if it is not there.
if(ifStatement != null){
Statement thenStatement = ifStatement.getThenStatement();
Statement elseStatement = ifStatement.getElseStatement();
String codeToReplace = "if("+ifStatement.getExpression()+")";
if(thenStatement instanceof Block)
codeToReplace += "\n"+ thenStatement + "";
else
codeToReplace += "{\n"+ thenStatement + "\n}";
if(elseStatement != null){
if(elseStatement instanceof Block)
codeToReplace += "else" + elseStatement +"\n";
else
codeToReplace += "else{\n" + elseStatement +"\n}";
}
replaceStatment(rewriter, getBlockInstence(ifStatement), codeToReplace , ifStatement);
}
return super.visit(ifStatement);
}
});
这适用于外部if,但不适用于内部if / else。
P.S。:在首选项中使用格式化程序可以做到这一点。我必须将这部分插入我的插件中。
答案 0 :(得分:1)
这是另一种方法。在Eclipse中打开首选项,转到 Java - >编辑 - >保存操作。启用保存操作,然后单击配置。转到“代码样式”选项卡,然后启用“控制语句”下的选项。
这将在每次保存文件时执行您想要的操作。