ヒント

 

フィーチャー・ベースのセルフ・ホスティング 現在、Eclipse におけるセルフ・ホスティングのメソッドはプラグイン・ベースです。 PDE は、ロードしなければならないプラグインの配列を渡すことによって、2 つ目のランタイム・ワークベンチ・インスタンスを起動します。 通常の Eclipse 製品はフィーチャー・ベースです。 始動中、アクティブにしなければならないフィーチャーをすべて検査し、それらのフィーチャーに属する プラグインを計算し、ロードの結果を渡します。

この振る舞いの違いは、フィーチャーを含む完全な始動が必要とされるシナリオにおいて、セルフ・ホスティングを 複雑なものにします。 現在、セットアップで以下の処置が行われていれば、PDE はこのシナリオをサポートします。

  1. ワークスペースは <work-area>/plugins でなければならない
  2. フィーチャーは、新しい「フィーチャー・インポート」ウィザードでワークスペースにインポートされていなければならない (<work-area>/features に作成される)
  3. プラグインはすべて、ワークスペースに (ソース内にあるか、またはリンクではなくバイナリー・プロジェクトとしてインポートされて) 存在しなければならない
  4. 起動時、ランタイム・ワークベンチ・ランチャーはフィーチャーを使用するよう (「プラグインおよびフラグメント」タブで) 構成されていなければならない

これらの条件が満たされていれば、ランタイム Eclipse インスタンスは、通常の Eclipse の始動と最も似た方法で起動されます。 これは、「製品情報」ダイアログ、およびインストールされているフィーチャーのセットによって異なる可能性がある 局面のテストに役立ちます。

クリーンにするか否か 新しいランタイム・ワークベンチ起動構成を 作成すると、PDE は、起動構成時のプログラム引数を、-clean 引数を含むように事前設定します。 

-clean 引数が指定されていると、ランタイム・ワークベンチのすべてのランタイム・キャッシュ・データが 起動のたびにクリアされ、ホスト・ワークベンチにおいて行われたすべての変更 (プラグイン・プロジェクトに対する 新しい Java パッケージの追加など) が、ランタイム・ワークベンチの起動時に反映されるようになります。

ターゲット・プラットフォームが多数のプラグインを含む場合は、キャッシュをクリアすると パフォーマンスが低下する可能性があります。 

したがって、ターゲット・プラットフォームに多数のプラグインがあり、プラグイン・プロジェクトの パッケージの追加や除去が頻繁に行われない段階になっている場合には、起動構成から -clean 引数を 削除することで、起動時間を短縮できます。

リンク付きインポート インポートするプラグインの内容によっては、外部プラグインおよびフラグメントの インポートには時間がかかり、ワークスペースが大きくなる原因となります。そのため、「外部プラグインおよびフラグメントのインポート」ウィザードには、リンク付きでインポートを 行うためのオプションが用意されています。 つまりインポート操作は、インポートされるリソースをワークスペースにコピーしません。 インポートされるファイルへのリンクが作成されるだけです。 ワークスペースにコピーされた状態と同じように、これらのリンクされたリソースを表示することができます。 ただし、リソースは物理的にファイル・システムに存在しているわけではないため、それらを変更することはできません。 ワークスペースに物理的に置かれているファイルは、リンクされたリソースでは機能しないため、それらを対象にした操作には注意してください。 
テンプレート すぐに使い始めることができるように、PDE では、完全に動作する 1 つ以上の拡張を持つプラグインを生成する、いくつかのテンプレート・プラグインが提供されています。さらに、どの時点でも、テンプレート・リストから新しい拡張を追加 (プラグインを生成することなく) する場合は、マニフェスト・エディターから直接これらの拡張テンプレートにアクセスすることができます。 エディターの「拡張」ページで「追加...」をクリックしてください。 表示されたウィザードで、左側のペインにある「拡張テンプレート」を選択し、右側のペインでテンプレートを選択します。 
プラグイン依存関係エクステント 自分のプラグインが依存するプラグインのリストを見て、 なぜ特定のプラグイン X を必要とするのか疑問を感じたことがあるでしょう。 その疑問が簡単に解決できるようになりました。 

いくつかのコンテキスト (マニフェスト・ファイルの「依存関係」ページおよび「依存関係」ビューを含む) の コンテキスト・メニューにある「依存関係エクステントの計算」操作は、組み合わされた Java および プラグイン検索を実行して、あるプラグインにおいて参照されているプラグイン X で提供されている Java の型 および拡張ポイントをすべて見つけます。 結果は「検索」ビューに表示されます。「検索結果」ビューで型が選択されると、コンテキスト・メニューにある「MyPlugIn の参照」アクションが、 選択された型がプラグイン内で参照されている位置を検索します。  

検索の結果、何も返されなかった場合、依存関係のリストからプラグイン X を除去しなければなりません。 これはまったく使用されておらず、クラス・ロードを遅くする原因となります。

プラグイン X からの 内部 (非 API) クラスを使用することは、望ましくない場合もあります。「依存関係エクステントの計算」は、これを確認するためにも役立ちます。

未使用の依存関係の検索 プラグインの依存関係の数を最小限に抑えると、確実にパフォーマンスが向上します。プラグインが変更されるにつれて、その依存関係のリストは、必要なくなったプラグインへの参照も含んでいる場合もあるために古くなっていきます。 プラグインによってリストされている依存関係すべてが、そのプラグインによって実際に使用されているかどうかを調べる簡単な方法は、 PDE のマニフェスト・エディターの「依存関係」ページのコンテキスト・メニューから使用できる「未使用の依存関係の検索」ユーティリティーを実行することです。 
Java 検索範囲の拡張 Java 検索は、ワークスペース内のプロジェクト、および それらのプロジェクトが参照している外部 jar に限られています。外部プラグインにあるライブラリーを検索にさらに追加したい場合、「プラグイン」ビューを開き、プラグインを選択し、 さらにコンテキスト・メニューから「Java 検索に追加」を選択してください。  作業しているプラグインに依存するその他のプラグインを意識しておく上で役立ちます。