有没有办法在Intellij-IDEA中自动执行重复重构操作?

时间:2014-09-17 11:30:12

标签: java intellij-idea automation refactoring batch-processing

为了在我正在进行的项目中实现一个功能,我不得不从一个方法中抛出一个检查异常,这个方法是级联使用的,其他数十种方法也是如此。整个项目中的课程。因此,我必须做一些重型重构,Intellij协助我做这样的弹出窗口:

Example of refactoring popup

现在,虽然这个intellij功能非常有用,但是必须通过整个代码库仍然需要(对我来说)无法忍受的时间。这项任务实际上非常重复:

  1. 浏览所有" 未报告的例外XX;必须被抓住或宣布被抛出"错误。
  2. 弹出窗口。
  3. 如果图片中显示的两个选项都存在,则选择第一个。
  4. 如果只有" 使用try / catch环绕"存在,使用那个,并用我自己的代码替换自动发出的e.printStackTrace()调用。
  5. 从点 1 重复,直到不再报告错误。
  6. 所以,问题是:有没有办法在IntelliJ中自动化这个过程?

2 个答案:

答案 0 :(得分:2)

我发现的唯一自动化方法是使用重构。在抛出异常的方法上,选择refactor->更改签名。添加签名的例外。选择传播异常的选项,然后选择refactor。

然后应该将throws子句添加到调用该函数的所有方法中。

这适用于少数方法。我没有尝试过数百种方法。

不幸的是,我无法获得代码分析,其中有一个"修复所有"选项,报告此错误。如果它确实报告了错误,那么这将是解决所有问题的一种更简单的方法。

答案 1 :(得分:1)

从一般观点来看,IntellJ IDEA具有批量重构功能,可按如下方式访问:

  1. 找到问题的一个位置。
  2. 在有问题的部分,访问“意图”弹出窗口,找到分辨率,在子菜单中,您将找到"运行检查......"功能
  3. 在此定义搜索范围,例如:项目中的所有文件。
  4. 找到所有事件后,在树上选择一个检查条目(或者可以进行任何其他选择,例如全选)。
  5. 如果"应用快速修复" (灯泡)工具使你可以通过一次点击解决所有问题。
  6. 我认为这取决于检查和可用的决议。