1

私はこのEclipse全体のRCPとPDEのことは初めてなので、どんな助けも大歓迎です!

基本的に、新しいパースペクティブを作成しました。ほとんどの場合、plugin.xml で xml パースペクティブと perspectiveExtension を使用します。通常は問題なく動作しますが、製品化されたアプリケーションでのみアクティブ化し、プラグインとしてエクスポートするときに「オフにする」必要があります...

これは xml 経由で可能ですか? または、これを行う他の方法はありますか?

activity/activityPatternBindings を使用してみましたが、うまくいかないようです。

   <extension point="org.eclipse.ui.activities">
   <activity id="com.x.y.z.disable"
           name="HidePerspective">
      <enabledWhen>
         <with variable="true">
            <equals value="false">
            </equals>
         </with>
      </enabledWhen>
   </activity>
   <activityPatternBinding activityId="com.x.y.z.disable"
                          pattern="com.x.y.z.MyPerspective">
   </activityPatternBinding>
   </extension>

上記が正常に機能した場合 - value="false" を value="true" に変更してパースペクティブのオン/オフを切り替えた場合、org.eclipse.core.runtime.product をプロパティ テスターに​​置き換えます。これが有効なアプローチであるか、または上記が機能しない理由を知っている人はいますか?

4

2 に答える 2

0

バインディングのパターンが間違っています。これらのパターンを使用する方法は 2 つあります。複数の ID に一致させる場合は、ワイルドカード文字を使用する必要があります。または、1 つの ID と正確に一致させるには、「plugin.id/perspective.id」の形式で、属性「isEqualityPattern」を true に設定する必要があります。

http://www.vogella.com/blog/2009/07/13/eclipse-activities/のサンプル コードをご覧ください。

もう 1 つの重要なポイント: アクティビティ バインディングは UI 要素を非表示にすることができますが、これらの UI 要素は、ワークベンチで必要な場合は自動的に再表示されます。そのため、ワークスペースに Java プロジェクトが含まれている場合、以前はパターン バインディングによって非表示になっていた Java UI 要素も、Eclipseによって表示されます。したがって、バインディングを試すときに、ワークスペースをクリーンアップして実験することをお勧めします (ワークスペースはバインディングが既に無視されている状態である可能性があるため)。

于 2013-02-23T06:50:09.160 に答える