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人くらいしか困ってないんだろうなー。