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

标签 java intellij-idea automation refactoring batch-processing

为了在我正在处理的项目中实现一个功能,我不得不从一个方法中抛出一个检查异常,该方法被整个数十个其他类中的数百个其他方法级联使用项目。因此,我必须进行一些繁重的重构,Intellij 会协助我处理像这样的弹出窗口:

Example of refactoring popup

现在,虽然这个 intellij 功能非常有用,但必须检查整个代码库仍然花费(对我来说)难以忍受的时间。该任务实际上是非常重复的:

  1. 检查所有“未报告的异常 XX;必须捕获或声明为抛出”错误。
  2. 使弹出窗口出现。
  3. 如果图片中的两个选项都存在,则选择第一个。
  4. 如果只存在“Surround with try/catch”,则使用它并用我自己的代码替换自动发出的 e.printStackTrace() 调用.
  5. 从第 1 点开始重复,直到不再报告错误。

那么,问题是:有什么方法可以在 IntelliJ 中自动化这个过程吗?

最佳答案

我为此找到的唯一自动化方法是使用重构。在要抛出异常的方法上,选择refactor->change signature。将异常(exception)添加到签名中。选择传播异常的选项,然后选择重构。

然后它应该向所有调用该函数的方法添加 throws 子句。

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

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

关于java - 有没有办法在 Intellij-IDEA 中自动执行重复的重构操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25889377/

相关文章:

Java邮件 : FolderClosedException coming frequently

Scala Intellij 建议用非空替换大小检查,但为什么呢?

java - Disruptor - 环形缓冲区

java - 如何通过PythonInterpreter访问Python类

android-studio - 一些方法和类名称颜色更改为蓝色!如何恢复

linux - 在多个浏览器中在 selenium 中运行测试,同时在每个测试用例之后清理数据库

git - Visual Studio Online 计划生成找不到我的分支

python - 我如何自动化我用 python 编写的爬虫程序每月运行一次?

java - 如何将 OpenID 集成到 GlassFish 中?

java.lang.NoSuchMethodException : scala. collection.immutable.$冒号$冒号