0

次のように、Eclipse拡張ポイント「org.eclipse.ui.editors」でカスタムエディターを登録しました。

<extension
     point="org.eclipse.ui.editors">
     <editor 
            class="com.xxx.designer.scxml.ui.ScxmlDiagramEditor" 
            id="com.xxx.designer.scxml.ui.ScxmlDiagramEditor"
            extensions="scdiagram"
            name="SCXML Editor">
</editor>

正常に動作します。このエディターは.scdiagramファイルに関連付けられています。ただし、同じ.scdiagramファイルをクリックするたびに、開いているファイルを強調表示する代わりに、新しいインスタンスが開きます。これについて何か考えはありますか?

ありがとう、

4

2 に答える 2

3

あなたがする必要があるIEditorInputのは、同じファイルに対してあなたのリターンを真にすることです。これは、ファイルの正規名を比較することで実装できます。hashCode()メソッドもオーバーライドすることを忘れないでください。JavaでequalsとhashCodeをオーバーライドする場合、どのような問題を考慮する必要がありますか?

エディターの使用の詳細については、LarsVogelの優れたチュートリアルEclipseエディタープラグインチュートリアルを参照してください。

于 2012-05-21T20:32:50.980 に答える
2

これが私の質問が最終的にどのように解決されたかです。これはGraphitiに関連しており、ソリューションもフレームワークに関連付けられています。

Graphitiのダイアグラムエディターをサブクラス化したので、必要なのはorg.eclipse.graphiti.ui.editor.DiagramEditorMatchingStrategyをplugin.xmlのエディターのマッチング戦略として設定することだけです。

于 2012-06-13T14:51:36.600 に答える