快速' if-else'在Intellij快捷方式中翻转

时间:2018-03-12 15:52:20

标签: java intellij-idea ide keyboard-shortcuts

我正在尝试重构现有的遗留代码,我注意到我有很多地方有以下模式:

if (condition) {
    // lot of code
} else {
    throw new SomeException();
}

我想知道是否有一种快速的方法来翻转if-else构造以轻松地将当前形式重构为这样的东西:

if(!condition) throw new SomeException();
// lot of code

我想在函数开头删除不必要的嵌套并进行检查。

2 个答案:

答案 0 :(得分:3)

将插入符号放在'if'上,按 Alt + Enter ,从菜单中选择“if if condition”。

答案 1 :(得分:3)

对于现场编辑,请使用@Yole的建议。

但是,如果您在整个项目中有很多地方,可以使用Edit => Find => Replace structurally和以下模板(从IJ附带的样本中推断出来并使用v2017.3.4进行测试):

搜索模板:

if ($Condition$) {
  $ThenStatement$;
} else {
  throw new $Constructor$($Argument$);
}

替换模板

if (!$Condition$) throw new $Constructor$($Argument$);

$ThenStatement$;

<强>变量

点击Edit variables按钮,然后选择ThenStatement变量并选中Unlimited框以使其适用于多行(或输入您需要的任何值):

Variables

<强>结果

IJ Structural Replace