
Eclipseの動作をカスタマイズするための
Eclipseのフィーチャーの使い方
Pat McCarthy
Senior Software Engineer.IBM
2004/6/17
|
「Eclipseのカスタマイズの勧め(前編)」で2つのことが分かった。識別されたプライマリフィーチャーはデフォルト初期設定をコントロールし、Eclipseは提供されたプラグインをインストールディレクトリあるいはリンクされたEclipseディレクトリ構造の中から見つけ出す。つまり、このことは変更が可能であることを意味している(ただ、それには必ずリスクが伴うので注意したい)。これらの変更は、Eclipseベースのインストレーションの管理方法を強化することができ、自分好みのルールをサポートさせることができる。
| リンクファイルを使ったEclipseインストールの管理 |
優れたプラグインをすべてEclipseディレクトリツリーの中に投げ入れてしまう(もちろん参照フィーチャーを使っていただきたい)のではなく、もっと管理が行き届いた環境を検討するのもよいかもしれない。Eclipseをアップデートする必要がある場合は、また新しいEclipseを展開したり、フィーチャーやプラグインの一覧を隅から隅まで探し、使っていくものを見つけ出すようなことは絶対避けたいものだ。
EclipseやEclipseベースの製品を整理し、リンクファイルフィーチャーを土台にして作業を進めるときの方法を以下に示す。
- EclipseやEclipseベースの製品をクリーンにしておく。つまり、「eclipse\features」や「eclipse\plugins」ディレクトリには自分のフィーチャーやプラグインを登録しないこと
- 「eclipse\links」および「eclipse\links-out」の両ディレクトリは、既存の「eclipse」ディレクトリに作成する。Eclipseベースの製品を使っていれば、この「eclipse\links」ディレクトリがすでに存在する場合もある。このディレクトリは特別なものではなく、未使用リンクファイルの便利な置き場所になる
- 自分のコンフィグレーションに追加したいフィーチャーやプラグインのための「add-ons」ディレクトリを作成する。そして、これらのディレクトリで「eclipse\features」および「eclipse\plugins」ディレクトリ構造を作成する
- すべての「add-ons」ディレクトリに対し、リンクファイルを「eclipse\links-out」ディレクトリの中に作成する。自分のアクティブコンフィグレーションとして現在必要なものを「eclipse\links」ディレクトリにコピーする
例えば、Eclipseを「Eclipse-2.1.1」という名前のディレクトリに解凍し、同じ「Eclipse-2.1.1」ディレクトリの中で「CoolTools」というアドオン用ディレクトリを作成したと仮定する。CoolToolsディレクトリには、Eclipseに追加したい各ツールやファミリーのツリーごとに1つずつ、複数のディレクトリを存在させることができる。構造としては以下の図1のようになるだろう。
![]() |
| 図1 リンクファイル用のEclipseのディレクトリ構造 |
「EditorList.link」ファイルにはこれらのエントリのいずれか(両方ではない)が含まれることになる。
path=D:/Eclipse-2.1.1/CoolTools/EditorList |
Eclipseが無視することになってしまうため、このエントリの最後には絶対にスペースを含めてはならない。初めてリンクファイルを使ったとき、私はこのことに気付くのに数時間を要した。
新しいワークスペースでEclipseを起動すると、Eclipseと、リンクファイルによって見つかるフィーチャーやプラグインはすべてが利用可能になる。リンクファイルを追加し、既存のワークスペースでEclipseを再起動すると「Configuration Changes」ダイアログが表示される。リンクファイルを削除すると(これを「\links-out」に移動すれば簡単に削除できてしまう)コンフィグレーションの変更が通知されるが、画面ではスプラッシュ画面が点滅表示されるだけだ。
コンフィグレーションをコントロールするためにリンクファイルをあちこち動かす必要はない。それよりも、「Install/Update」パースペクティブを使ってコンフィグレーションを調整する方が良い。ただし、これはそのプラグイン用のフィーチャーがあることが前提だ(フィーチャーを使うもう1つの理由がこれなのだ)。
■「Install/Update」パースペクティブを使ったコンフィグレーションの修正
ルートフィーチャーや、オプションとして定義されたあらゆるフィーチャーは、現在のコンフィグレーションで無効にできる。フィーチャーは一度無効にされても、現在のランタイムコンフィグレーションにインクルードされていないだけで、プラットフォームには認識されたままとなる。
「Eclipseのカスタマイズの勧め(前編)」でアクティブコンフィグレーションへのEclipse Examplesの登録について説明した。これさえあれば、「Install/Update」パースペクティブを使ってこれを無効にすることもできる。Eclipse Examplesを含んだEclipseコンフィグレーション用に「Install/Update」パースペクティブを開くと、図2のような画面になる。
![]() |
| 図2 「Install/Update」パースペクティブのEclipse Examplesフィーチャー |
「Preview」ビューの「Disable Now」ボタンを選択すると、ランタイムコンフィグレーションからEclipse Examplesフィーチャーを一時的に削除することができる。これが選択されると、Eclipseはコンフィグレーションの修正を実行するためにPlatformの再起動を促してくる。
これで、現在のコンフィグレーションではEclipse Examplesフィーチャーが見えなくなる(アクティブでなくなる)。このフィーチャーを見えるようにして再度有効にするには、「Install Configuration」ビューにある「Show Disabled Features」トグルボタンを選択する(図3参照)。
![]() |
| 図3 「Install/Update」パースペクティブでEclipse Examplesフィーチャーを無効にする |
これがEclipse Exampleフィーチャーで有効なのは、これがルートフィーチャーであるためだ。Eclipse SDKのほかのフィーチャーを見ると、これらの「Preview」ビューには「Disable Now」ボタンがないことに気付くことだろう。それは、これらが必須だと見なされているためだ。
Eclipse SDKを使っている場合は、デフォルトでPlatform、JDT、そしてPDEがコンフィグレーションされている。プラグインを開発してもPDEが必要ない場合(このような場合はJDTも常に必要なわけではない)は、Eclipseに小変更を加えたときは、これらのフィーチャーを無効にすることもできる。「org.eclipse.platform.sdk.win32」フィーチャーの「feature.xml」ファイルを開き、以下の各行に変更を加えて、「optional="true"」を挿入すれば良い。
リスト PDEとJDTを無効にする <includes id="org.eclipse.platform.win32"
version="2.1.1" match="equivalent"/> |
これで、「Install Configuration」ビューでこれらのフィーチャーを選択し、無効にすることができるようになった。このリストでオプションとして定義されたものすべてが無効になってもPlatformは動作するし、これらを再び有効にすることもできるので覚えておきたい。無効になっているフィーチャーを表示する「Install Configuration」ビューを図4に示す。
![]() |
| 図4 無効にされた複数のEclipseフィーチャー |
これらの無効/有効の判断は現在のワークスペースだけにローカルに反映されるので、無効になったフィーチャーの一部もしくは全部が含まれるほかのワークスペースはアクティブにしておくこともできる。
この簡単な例を見れば、フィーチャーを持つこと(無効にすることもできる)のメリットや、リンクファイルを使って考えられるすべてのフィーチャーを自分のコンフィグレーションに登録することの価値も明らかになるはずだ。特定のワークスペースで不要なものを無効にすることにより、現在のコンフィグレーションを最適化することができる。
| 1/2 |
|
INDEX |
||
| Eclipseのカスタマイズの勧め(後編) | ||
| Page1 リンクファイルを使ったEclipseインストールの管理 |
||
| Page2 自分独自のグローバル初期設定 グローバル初期設定の例 |
||
developerWorks バックナンバー
- 第1回 Eclipseのカスタマイズの勧め(前編)
- 第2回 Eclipseのカスタマイズの勧め(後編)
- 第3回 J2EEのベストプラクティス・トップ10(前編)
- 第4回 J2EEのベストプラクティス・トップ10(後編)
- 第5回 Groovyに触ってみよう
| Java Solution全記事一覧 |
TechTargetジャパン
- Scalaのパッケージ、アクセス修飾子、オブジェクト継承 (2012/5/22)
インポート、パッケージオブジェクト、抽象クラス/抽象メソッド、オーバーライド、final、シールドクラスなども - 基幹系システムでCloud SQLは使えるか試してみた (2012/5/17)
サンプルとしてMRPシステムを作成して動かし、「再帰呼び出し」などのパフォーマンスを測定して検証してみます - アジャイル管理ツール9選+Pivotal Tracker入門 (2012/5/14)
群雄割拠のアジャイルプロジェクト管理ツールを9つ紹介し、特に注目を集めているPivotal Trackerの基本的な使い方を解説します - サーバサイドJSやJavaでWebアプリが作れるXPages (2012/5/11)
Notes/Dominoの資産をサーバサイドJavaScriptやJavaで操作し、HTMLやJavaScript、CSSをUIにできる技術を紹介
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -




