Eclipse QuickFix可解决多个问题

时间:2013-07-17 14:37:26

标签: java eclipse

在Eclipse中,可以选择快速修复问题,方法是单击其中一个问题,然后选择QuickFix。

现在我遇到了一百多个具有相同问题的条目。

  

'<>'操作员不允许源级别低于1.7

因为我将项目的目标级别从1.7更改为1.6

我尝试在“问题”视图中选择所有这些,然后尝试使用“快速修复”,但它失败并显示以下错误消息:

  

所选问题没有常见的适用快速解决方法。

此消息显然是错误的,因为至少存在一个这样的常见快速修复:

  

插入推断类型参数。

我想使用哪一个。

我的问题是:我做错了什么,因为无法应用QuickFix,或者这是Eclipse中的错误?

2 个答案:

答案 0 :(得分:3)

问题在于,特定快速修复程序的实施必须通过实施org.eclipse.ui.views.markers.WorkbenchMarkerResolution并使用扩展点org.eclipse.ui.ide.markerResolution进行注册来明确支持批量操作。遗憾的是,InsertTypeArgumentsOperation不支持批量操作。

如果快速修复类型支持批量操作 您可以转到“问题”视图,选择其中一个错误,然后按Ctrl-1(快速修复)。它应该为您提供在所有文件中修复所选类型的所有错误的机会。您还可以使用鼠标指针悬停错误并等待显示"修复xx此类型的其他错误的工具提示"。这只会修复指定文件中的错误。

如果快速修复不支持批量操作 你会收到你说的错误信息:

  

所选问题没有常见的适用快速解决方法。

根据我的经验,我需要的大多数快速修复程序都不支持批量操作,至少可以说这非常令人沮丧。

在很多情况下,你可以回到

  • 其他操作(例如组织导入)
  • 重构代码(例如重命名,解压缩,......)
  • 找到并替换所有穷人的重构

答案 1 :(得分:0)

我认为它在eclipse中是一个缺失的东西(或者他们说的功能不是一个bug)。我从不依赖quickfix来纠正代码。

我的建议:最好单独修复它,而不是批量修复,以避免任何运行时问题。