これは一種の初心者の質問です。iFile
すべてのチュートリアルは、オブジェクトクラスにコマンドを追加する方法を示しています。plugin.xml
関数またはクラスのコマンドを登録するファイルの例を教えてください。
私が達成したいのは、アウトラインビューまたはコード自体でクラスまたは関数名を右クリックし、コンテキストメニューに新しいコマンドを表示することです。
これは一種の初心者の質問です。iFile
すべてのチュートリアルは、オブジェクトクラスにコマンドを追加する方法を示しています。plugin.xml
関数またはクラスのコマンドを登録するファイルの例を教えてください。
私が達成したいのは、アウトラインビューまたはコード自体でクラスまたは関数名を右クリックし、コンテキストメニューに新しいコマンドを表示することです。
重要なのは、visibleWhenパーツを適切に使用することです。これは、Javaメソッドまたはクラスが選択されている場合にのみ表示されるプロジェクトエクスプローラーに表示されるコマンドの例です。
<menuContribution
locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu">
<command
commandId="__your.command.id__"
id="your.contribution.id"
label="Some Label"
style="push">
<visibleWhen
checkEnabled="false">
<iterate
ifEmpty="false"
operator="and">
<or>
<instanceof
value="org.eclipse.jdt.core.IType">
</instanceof>
<instanceof
value="org.eclipse.jdt.core.IMethod">
</instanceof>
</or>
</iterate>
</visibleWhen>
</command>
</menuContribution>
commandIdを実際のものに設定することを忘れないでください。
プロパティと選択テストの詳細については、こちらをご覧ください。
ここでの例に基づいて、objectClass
メソッドの場合はIMethodに、クラスの場合はITypeに変更する必要があります。
PS:
表現されているオブジェクトの種類を確認するには、プラグインのSelectionSpyメニューを使用できます。オブジェクトを選択して[ CtrlShift+ ]をクリックしますF1。