1

プラグインを使用して Eclipse にプロパティ ページを追加したいと考えています。このプロパティ ページは、私の性質のプロジェクトに対してのみ有効にする必要があります。以下のコードを plugin.xml に記述しました。

<extension
   point="org.eclipse.ui.propertyPages">
 <page
      class="com.test.me.ME"
      id="com.test.me.ME"
      name="ME">
     <and>
        <instanceof 
              value="org.eclipse.core.resources.IProject">
        </instanceof>
        <adapt
              type="org.eclipse.core.resources.IResource">
               <test
                    property="org.eclipse.core.resources.projectNature"
                    value="com.test.me.meprojectnature">
               </test>
    </adapt>
</and> 
 </page>

上記のコードは、プロジェクト エクスプローラーおよびナビゲーター ビューのプロジェクトに対して正常に機能します。しかし、同じことはパッケージ エクスプローラー ビューでは機能しません。

では、パッケージ エクスプローラー ビューに固有の同じ機能を実現するにはどうすればよいでしょうか。

4

3 に答える 3

2

instanceof チェックを adapt 内に移動する必要があります。

于 2012-09-17T15:07:10.157 に答える
1

@nitind is right, you're specifying too many constraints. You want to say "Enabled when the selection is adaptable to an IProject and it's "projectNaure" property includes "my nature."

This should do it:

   <extension point="org.eclipse.ui.propertyPages">
  <page
        name="My Property Page"
        class="some.package.MyPropertyPage"
        id="some.package.MyPropertyPage">
     <enabledWhen>
         <adapt type="org.eclipse.core.resources.IProject">
              <test
                 property="org.eclipse.core.resources.projectNature"
                 value="some.package.MyNatureID"/>
         </adapt>         
     </enabledWhen>
  </page>

于 2013-01-29T02:49:08.550 に答える
1

試したことはありませんが、私の意見では、パッケージエクスプローラーにはorg.eclipse.core.resources.IProject要素がありません。入力したものは何でも試す必要があります(たとえばorg.eclipse.jdt.core.IJavaProject)

于 2012-09-17T11:37:52.403 に答える