Eclipse(CDT) Plugin の右クリックメニューに追加するときの注意
Eclipse プラグイン開発で、Package Explorer の右クリックメニューに
開発したプラグインのメニューを追加するときには
org.eclipse.ui.popupMenus の Extension Point を使う。
このとき、ファイルに対してのみメニューを出したい場合には
objectClass 属性に org.eclipse.core.resources.IFile を指定する。
これで大抵の場合にはうまく行くわけだけども
Eclipse CDT 上で右クリックメニューを表示する場合、
C/H ファイルではなぜかメニュー一覧に出てこない。
いろいろ調べて解決策がわかったのでメモ。
CDT では org.eclipse.core.resources.IFile ではなく
org.eclipse.cdt.core.model.ITranslationUnit を指定する。
参考:CDT ベースのエディターを構築する、第 1 回: C/C++ Development Tooling モデル
plugin.xml
<extension point="org.eclipse.ui.popupMenus"> <objectContribution objectClass="org.eclipse.cdt.core.model.ITranslationUnit" id="plugin.menu.id"> ... </objectContribution> </extension>
こんなこと国内で3人くらいしか困ってないんだろうなー。