1

我正在我的 RCP 应用程序中实现 QuickFix。

我添加了 org.eclipse.ui.ide.markerResolution 并创建了一个实现 IMarkerResolutionGenerator2 接口的类。

public class MyResolutionGenerator implements
    IMarkerResolutionGenerator2 {

    @Override
    public IMarkerResolution[] getResolutions(IMarker marker) {
        ....
    }

    @Override
    public boolean hasResolutions(IMarker marker) {
        return true;
    }
}

我还制定了决议,一切正常。

当我向扩展点 org.eclipse.ui.ide.markerResolution 添加属性时,问题视图中的快速修复选项总是被禁用。

<extension
  point="org.eclipse.ui.ide.markerResolution">
    <markerResolutionGenerator
        class="com.priyank.visual.quickfix.MyResolutionGenerator"
        markerType="com.priyank.test.model_marker">
        <attribute
            name="test"
            value="testdata">
        </attribute>
</markerResolutionGenerator>

没有任何异常抛出,但我无法弄清楚它的原因。

4

1 回答 1

1

我得到了解决方案。错误只是在我的最后。

添加的属性必须存在于标记中。标记 com.priyank.test.model_marker 不存在属性添加测试,因此来自 MarkerHelpRegistry 的 hasResolution 返回 false :)

于 2013-01-17T10:46:17.503 回答