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 に答える