Eclipseの動作をカスタマイズするための
Eclipseのフィーチャーの使い方
自分独自のグローバル初期設定 |
Eclipseは優れた技術だが、どのツールでも同じように、多少はカスタマイズしなければ自分にとって完ぺきなものとはならない。各ツールにはツールの動作や表示内容を変更できる初期設定ページが提供されている。本稿執筆時点でEclipseの初期設定ページは62ページあったので、新しいページを開けば変更してみたくなるオプションが必ず見つかるのではないだろうか。しかしこれは、複数のワークスペースを利用したり、いくつかのオプションのコーディネートが必要なチーム環境で作業をする場合は、ワークスペース全体、もしくはほかのユーザーとの間での最も優れた選択肢の管理方法を考える際に課題となってくる。
Eclipseにも初期設定の書き出し/読み込みオプションがある。「Preferences」ダイアログは、どのページでも、「.epf」ファイルに初期設定を書き出すことができる。そして、別のワークスペースを使うときや、ほかのユーザーと共有するときはこのファイルを読み込むことができる。さらに、標準の初期設定を全員が利用できるよう、チームのメンバーと共有するプロジェクトにこれを登録することもできる。
しかし、これでは単調で退屈なものとなってしまい、設定を忘れると厄介だ。EclipseやEclipseベースの製品を使っているときに覚えておきたいグローバル初期設定の定義方法はもう1つある。プライマリフィーチャーに関連付けられた「plugin_customization.ini」ファイルを修正すれば、初期設定のデフォルト値はカスタマイズできる。
プライマリフィーチャーを見つけるには、「eclipse」ディレクトリ中にある「install.ini」ファイルを見る。例えば、Eclipseを解凍した標準の状態では「install.ini」の内容は以下のようになっている。
リスト Eclipseの標準セット中の「install.ini」の内容 # install.ini # Required property "feature.default.id" contains
the id of the primary feature # Required property "feature.default.application"
contains id of the core |
「feature.default.id=」の項目は、デフォルトのプライマリフィーチャーを識別している。Eclipse起動時に「-feature」オプションを使えば別のフィーチャーをプライマリとして宣言可能なことを覚えておきたい。
フィーチャーのコントロールおよびブランド登録プロセスの大半の部分同様に、実際の作業はフィーチャーに関連付けられるプラグインの中で行われる。Eclipseにとっては、これがフィーチャーと同じidを持つ「org.eclipse.platform」プラグインとなる。プライマリフィーチャーのブランドを登録するプラグインであるこのプラグインを見れば、「plugin_customization.ini」という名前のファイルが見つかる。このファイルには、書き出された初期設定ファイルと同じエントリが含まれる。このファイルは、プラグイン自身が定義したものの代わりに使うべきデフォルトの初期設定値の特定をEclipseが開始するときに読み込まれる。これにより、製品、もしくはユーザー自身がプラグインの動作を変更できるようになる。デフォルトの「plugin_customization.ini」ファイルにはエントリが1つしかない。
リスト デフォルトの「plugin_customization.ini」ファイル # plugin_customization.ini
|
この項目は、新しいワークスペース向けに開かれた、もしくはすべてのパースペクティブを閉じてEclipseを停止したときのパースペクティブを識別する。Eclipseベースの製品を使っているときは、このエントリが異なる場合もある。
インクルードしたい初期設定を特定する作業はやや面倒だが、基本的には次のようになる。
- 全く新しいワークスペースで作業を開始する
- 変更したい初期設定値を修正する
- 初期設定を「.epf」ファイルに書き出す
- ファイルを検査して新しいキーを特定し、新たに加えたばかりの変更に対応するかどうか判断する。
- ブランド登録するプラグイン(Eclipse使用時はorg.eclipse.platform)中の「plugin_customization.ini」ファイルにキーエントリーを1つ以上コピーする
- 結果をテストし、新しいキーを使うか、最初からやり直す
|
グローバル初期設定の例 |
前述のテクニックと、自分でカスタマイズした「plugin_customization.ini」ファイルに含める値を示すため、初期設定の上書き例をここに示す。
ここでは、筆者がカスタマイズを行ったときの目的を考えて、これらをまとめて論理的に見ていきたい。「plugin_customization.ini」ファイルは全体をダウンロードすることができる。
・デフォルトで最下部表示のタブを最上部表示にする: # View tabs at the bottom |
・新しいワークスペースで歓迎ページを表示せず、ワークベンチを閉じたときのプロンプトも出さない:
# No welcome dialog at open and no confirm
on close |
・プロンプトや新しいプロジェクトのウィザードが認識するパースペクティブを開く動作を無効にする:
# Never change to perspective required by
new project wizard (no prompt) |
・代替デフォルトテキストフォントを定義する:
# Default text font (leaks into Java editor)
|
|
・Javaエディタタスクのタグをあらかじめもう1つ定義する:
# Add to the default JDT task tags (TODO
should probably be left) |
・「Package」エクスプローラを「Go Into」アクションと同じにするためダブルクリックをデフォルトにする:
# Package Explorer GoInto on Double click |
変更するのが初期設定ページで定義されていたオプションでなくても、ある程度のカスタマイズは可能だ。筆者自身がいつも行う一連のUI修正を行ってから書き出された「.epf」の内容をちょっと見ると、JDTに関する一部の判断が初期設定として保存されていることに気付いた。
・この初期設定キーは、デフォルトのUIの動作を変更するために読み込むべき初期設定が存在していることをJDT UIに対して伝えている: # Tells JDT it does have some prefs to
use (forces a read of these values) |
|
・アクティブな「Package」エクスプローラフィルタは初期設定値として保存される。
# Package Explorer filter
- standard JDT defaults |
# Outline view GoInto Toggle when using
JDT editor |
新しいデフォルトを特定するための初期設定キーについては、もっといろいろと試し、解説したプロセスを使って結果をチェックしてほしい。その際は、一時的なワークスペースを使うと良いだろう。そして、いろいろ試して満足できたらアクティブなプライマリフィーチャーの「plugin_customization.ini」ファイルを修正する(ただしこのやり方が筆者の案であることは内密に願いたい)。また筆者のように、JDTが使うはずだったフォント用で無視されてしまうキーがほかにも見つかるかもしれない。このエントリが「plugin_customization.ini」ファイル中にあっても初期設定ページは全く変わらないのだ。
まとめ |
フィーチャーはEclipseの縁の下の力持ちだ。Eclipseのコンフィグレーションを管理するための一単位であり、製品へのブランド登録をサポートし、製品がEclipse Platform上にカスタマイズされたソリューションを構築するときの一部であるなど、重要なものだ。フィーチャーを使うことで次のようなことが可能になる。
- フィーチャーへのブランド登録により、Eclipseベースの製品で作業をする際に利用できるさまざまなファンクションの提供者を識別する
- 製品へのブランド登録フィーチャーを土台にしてEclipseのカスタマイズをさらに進める
- プラグイン 開発環境のタスクを自動化する
- ルートフィーチャー、あるいはほかのユーザーによってインクルードされたもののオプションとして定義されたフィーチャーについて、その有効/無効のステータスを「Install/Update」パースペクティブを使って管理することにより、所定のワークスペースのコンフィグレーションをダイナミックに変更する
プラグインビルドプロセスの一部を自動化する、あるいは本稿で解説したカスタマイズインストール/リンクファイルビルドアプローチによって自分独自のEclipse環境を改良するようなときはフィーチャーを活用したい。
本記事は「IBM developerWorks」に最初に掲載された「Put Eclipse features to work for you “How to use Eclipse features to customize Eclipse behavior”」 をアットマーク・アイティが翻訳したものです。 |
2/2 |
INDEX |
||
Eclipseのカスタマイズの勧め(後編) | ||
Page1 リンクファイルを使ったEclipseインストールの管理 |
||
Page2 自分独自のグローバル初期設定 グローバル初期設定の例 |
Java Solution全記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|