Eclipse プラグインを開発する際に、ID crtc_v4.session でデフォルト ハンドラー crtc_v4.handlers.StartSession を使用してマニフェスト拡張機能にコマンドを作成しました。このコマンドのマニフェストにハンドラーを追加しました。このハンドラーは、変数 crtc_v4.sessionvar に従ってコマンドを有効にします。 .
コンソールに表示される問題は次のとおりです。
!MESSAGE Conflicting handlers for crtc_v4.session: {crtc_v4.handlers.StartSession@98bc5c} vs {crtc_v4.handlers.StartSession@1265d09}
ただし、プラグインの実行はブロックされません。この問題の解決策と、それがプラグインのパフォーマンス全般に影響するかどうかについて質問しています。
編集 :
コマンドを定義するスニペット:
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="toolbar:org.eclipse.ui.main.toolbar">
<toolbar
id="crtc_v5.crtctoolbar">
<command
commandId="crtc_v5.session"
icon="icons/neutral.png"
label="Start Session"
style="push">
</command>
</toolbar>
</menuContribution>
handler を定義するスニペット:
</extension>
<command
defaultHandler="crtc_v5.handlers.StartSession"
id="crtc_v5.session"
name="session">
</command>
</extension>
そして、これが sessionvar に対する有効化です:
<extension
point="org.eclipse.ui.handlers">
<handler
class="crtc_v5.handlers.StartSession"
commandId="crtc_v5.session">
<enabledWhen>
<with
variable="crtc_v5.sessionvar">
<equals
value="LOGGEDIN">
</equals>
</with>
</enabledWhen>
</handler>