快速修复 - 将属性添加到扩展名org.eclipse.ui.ide.markerResolution

时间:2013-01-16 19:45:33

标签: java eclipse-rcp

我正在我的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>

没有例外,但我无法找出原因。

1 个答案:

答案 0 :(得分:1)

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

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