Eclipse RCP 4.40: オフラインエンジニアリング
このスキルでは、Web 検索、ネットワークパッケージのダウンロード、HTTP ドキュメント、またはクラウド専用ツールを決して使用しないでください。同梱の vendor-docs/platform-isv-4.40/ は、Eclipse Platform Plug-in Developer Guide および 4.40 の API/リファレンスの精選されたサブセットです。完全なガイドに加え、e3/e4/SWT/JFace/jobs の API ページと拡張ポイントを厳選して含んでいます。references/ にはタスク指向のガイダンスが用意されています。完全にオフラインで動作する エージェント には、ローカルでホストされたモデルとキャッシュされたビルド依存関係も必要です。
編集前にアーキテクチャを特定する
references/index.mdと関連するタスクガイドを読んでください。MANIFEST.MF、plugin.xml、*.product、*.feature、Application.e4xmi/ フラグメント、ターゲットプラットフォーム、pom.xmlまたは PDE/Gradle ビルド、Java ベースラインを調査します。- 影響を受ける各領域が e3 ワークベンチ API、ネイティブ e4、または e4 ワークベンチ上の e3 互換性のいずれを使用しているかを判断します。e3 は
org.eclipse.ui拡張ポイント、ViewPart/EditorPart、IWorkbench*を使用します。e4 はモデル、コンテキスト/DI、パーツ/ハンドラー、@*ライフサイクル注釈を使用します。e4 バンドルが存在するだけでは、製品が純粋な e4 であるとは限りません。要求や移行計画なしに、一方のアプローチをもう一方に変換しないでください。 - ターゲットの正確なバージョンを特定します。このドキュメントは Platform 4.40 用であり、サードパーティバンドル、EMF、GEF、RAP、またはユーザー自身の製品のバージョンと必ずしも一致しません。他の API については、ローカルのターゲットプラットフォームとソース/Javadoc を確認してください。シグネチャを推測したり、
internalクラスを安定した API として使用したりしないでください。
最適化ループ
- 観測可能なベースラインを確立します: 環境、JVM、ターゲットプラットフォーム、ワークスペースの状態、コールド/ウォームスタートアップ、操作、レイテンシ/ヒープ/UI 停止、再現可能な測定。
references/performance.mdを読んでください。 - 最初にプロファイリング/診断を行います。UI フリーズのスレッドダンプを取得します。症状に応じて、サンプリングされた CPU、割り当て/ヒープ、GC、ログ、バンドルアクティベーション、ワークスペースジョブ、SWT リソースを検査します。顧客データを保護します。測定されたボトルネックを優先します。
- 動作と互換性を維持する最小限の正しい変更を実装します。SWT ウィジェットへのアクセスは UI スレッドで行います。重い処理は
Jobまたはバックグラウンドサービスで行います。キャンセル処理、破棄リスナー/リソース、モデルと DI ライフサイクルの維持を行います。references/e3.md、references/e4.md、references/swt-jface.md、references/osgi-build.mdを参照してください。 - ローカルで利用可能なツール/依存関係のみを使用してプロジェクトのテスト/ビルドを実行します。同等の条件下で再測定し、該当する場合は e3/e4 統合をテストし、改善前後の値を報告するか、改善が証明されなかったことを述べてください。ショートカットとして、ターゲットプラットフォームのアップグレード、依存関係の削除、ワークベンチ機能の無効化、ユーザーワークスペースデータのクリアを行わないでください。
オフラインで回答を見つける
- 正確なローカルリンクについては
references/index.mdから始めてください。vendor-docs/platform-isv-4.40/guide/にある元のガイドと、vendor-docs/platform-isv-4.40/reference/api/にある利用可能な API ページを通常のファイルシステム検索で読み、同梱の拡張ポイントドキュメントと正確な 4.40 Javadocをシグネチャが存在する場合に使用します。 - コンパクト版では多くの API クラスと拡張ポイントが省略されています。ベンダー HTML 内のリンクは、省略されたファイルを指している可能性があります。正確なページがない場合は、オフラインの 4.40 SDK/ターゲットプラットフォームのドキュメントまたはソースを参照してください。API を推測したり、オンラインで取得したりしないでください。
- サンプルスニペットを完全なプラグイン/プロジェクトテンプレートとして扱わないでください。ターゲットのマニフェストと拡張スキーマを確認してください。不確かなAPIについては、実際の 4.40 API ページと依存バンドルを確認するか、不確かであることを明示してください。
- ベンダーファイルには
about.html、notices.html、およびライセンスが保持されています。出典とオフラインセットアップについてはREADME.mdを参照してください。それらのオンラインリンクは履歴上の参照であり、依存関係ではありません。