10

在 Eclipse 中,可以通过单击其中一个问题并选择 QuickFix 来快速修复问题。

现在碰巧我有超过一百个具有相同问题的条目。

'<>' 运算符不允许用于低于 1.7 的源级别

因为我把一个项目的目标级别从1.7改成了1.6

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

所选问题没有通用的适用快速修复程序。

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

插入推断类型参数。

哪个是我想使用的。

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

4

2 回答 2

4

问题是特定 Quick Fix 的实现必须通过org.eclipse.ui.views.markers.WorkbenchMarkerResolution使用扩展点实现和注册来显式支持批量操作org.eclipse.ui.ide.markerResolution。遗憾的是, InsertTypeArgumentsOperation不支持批量操作。

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

如果快速修复不支持批量操作 ,您将收到您所说的错误消息:

所选问题没有通用的适用快速修复程序。

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

在很多情况下,您可以退回到

  • 其他操作(例如组织导入)
  • 重构代码(例如重命名、提取、..)
  • find and replace all,穷人的重构
于 2016-11-16T06:44:28.147 回答
0

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

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

于 2013-07-17T16:15:44.573 回答