Eclipseのカスタマイズの勧め(後編)
Eclipseの動作をカスタマイズするための
Eclipseのフィーチャーの使い方


Pat McCarthy
Senior Software Engineer.IBM
2004/6/17



本記事は、IBM developerWorksからアットマーク・アイティが許諾を得て翻訳、転載したものです。

 「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
path=D:Eclipse-2.1.1CoolToolsEditorList

 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"/>
<includes id="org.eclipse.jdt" version="2.1.1" match="equivalent" optional="true"/>
<includes id="org.eclipse.pde" version="2.1.0" match="equivalent" optional="true"/>
<includes id="org.eclipse.platform.win32.source" version="2.1.1" match="equivalent"
optional="true"/>
<includes id="org.eclipse.jdt.source" version="2.1.1" match="equivalent" optional="true"/>

 これで、「Install Configuration」ビューでこれらのフィーチャーを選択し、無効にすることができるようになった。このリストでオプションとして定義されたものすべてが無効になってもPlatformは動作するし、これらを再び有効にすることもできるので覚えておきたい。無効になっているフィーチャーを表示する「Install Configuration」ビューを図4に示す。

図4 無効にされた複数のEclipseフィーチャー

 これらの無効/有効の判断は現在のワークスペースだけにローカルに反映されるので、無効になったフィーチャーの一部もしくは全部が含まれるほかのワークスペースはアクティブにしておくこともできる。

 この簡単な例を見れば、フィーチャーを持つこと(無効にすることもできる)のメリットや、リンクファイルを使って考えられるすべてのフィーチャーを自分のコンフィグレーションに登録することの価値も明らかになるはずだ。特定のワークスペースで不要なものを無効にすることにより、現在のコンフィグレーションを最適化することができる。

1/2

 INDEX

Eclipseのカスタマイズの勧め(後編)
Page1
リンクファイルを使ったEclipseインストールの管理
  Page2
自分独自のグローバル初期設定
グローバル初期設定の例

Java Solution全記事一覧





Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間