Eclipseのワーキングセットを使う

問題

複数の仕事をしていると、やたらとEclipseのプロジェクトが増えてきたりする。例えば、

  • 自分の会社の仕事
  • 他社から頼まれた仕事
  • 自分が関わるオープンソースプロジェクト
  • 一時的にテストのために作成したプロジェクト

などなどそれぞれが数個から十数個のプロジェクトになる。Eclipseを起動すると、これらのプロジェクトが上から一列に並んでいる。

基本的にはアルファベット順で並ぶので、関連するプロジェクトを隣どうしにするには、それなりにプロジェクト名称を考えねばならない。例えば、

  • myproj_a
  • myproj_b
  • otherproj_a
  • otherproj_b

などなどだ。しかしそれでも不要なプロジェクトが見えてしまうという問題は解決できない。

ワークスペースを別にするという解決は許容し難い

この解決としては、ワークスペースを別々にするというのがあるのだが、極めて面倒だ。

ワークスペースにはEclipseの様々な設定が格納されているため、同じような環境を作成するためには、ワークスペース設定をコピーしなければならない。

また、Eclipseは一度に一つのワークスペースしか相手にできないので、別のものを見ようと思えば、ワークスペースの切り替えを行わなければならないが、これはEclipseの再起動と同じなので、時間がかかる処理だ。

ワーキングセットを使う

ワーキングセット機能を使ってこの問題を解決する。

ゴール

ゴールとしては、こうだ。これまではパッケージエクスプローラに多数のプロジェクトが表示されているのだが、

ワーキングセットを作成し、中に入れるプロジェクトを決め、ワーキングセットを選択すると、以下になる。

もちろん、他のプロジェクトが削除されたわけではない。見えなくなっているだけだ。

ワーキングセットの作成と選択

実際にワーキングセットを作ってみる。パッケージエクスプローラの右上のボタンからSelect Working Setを選択する

この画面は基本的には、「どのワーキングセットを選択するか」なのだが、ここで新たなワーキングセットを作ることができる。Newを選択する。

今回はJavaプロジェクトが対象なのでJavaを選択する。C/C++開発用のCDTが入っていれば、「C/C++」というワーキングセットの選択肢も現れるようだ。

今回はオープンソースとして開発しているプロジェクトを選んでみる。名前を「OpenSources」とし、そのプロジェクトを右側に移動させる。

※既に他のワーキングセットに格納されているものあっても、再度指定できるようだ。つまり、一つのプロジェクトが複数のワーキングセットのメンバーになりうるようだ。

今作成してOpenSourcesを選択してみる。

自動的に上のラジオボタンは「Selected Working Sets」に変更される。パッケージエクスプローラの状態は以下になる。

複数ワーキングセットの選択、編集・削除

一度に複数のワーキングセットを選択して、複数のワーキングセットに含まれるプロジェクトを表示したり、あるいはワーキングセットの内容を編集したり、削除したりもできる。

ワーキングセットの簡単選択

ワーキングセットを作成して、一度でも選択すると、パッケージエクスプローラ右上のメニューにもそのワーキングセット選択肢が現れるので、ここから簡単に選択することができる。いちいち先のダイアログを表示する必要はない。

ワーキングセットのフォルダ化表示

いくちかワーキングセットを作成した後に、ワーキングセットのフォルダ化表示を試してみる。これはパッケージエクスプローラ右上の三角メニューから行う。

ここで、Top Elevel ElementsとしてWorking Setを選択すると、以下のような表示になる。

Working Setの名前のフォルダが現れ、その下にプロジェクトが表示される。ワーキングセットに含まれていないプロジェクトはOther Projectの中に入るようだ。

この状態がお好みの場合は、Top Elementsをこの状態のまま保持しておく。以下の話を読む場合は、再度Top ElementsをProjectに戻しておく。

Window Working Setsとは

Working Setの選択三種類とワーキングセット選択

ところで、先のWorking Setのダイアログだが、3つの選択肢になっていた。

  1. Window Working Sets
  2. No Working Sets
  3. Selected Working Sets

になる。3は作成したワーキングセットを選択するという意味で、2.はワーキングセットを選択しない。つまり、全プロジェクトを表示するという意味だ。

しかし、1.のWindow Working Setsとは何だろうか?

この説明は少々ややこしい。まず、以下の前提を理解しないといけない。

このダイアログは「パッケージエクスプローラに表示させるワーキングセットを決めるもの」であって、Eclipseの別の部分では別のワーキングセットを選択することができる。

という点だ。例えば、パッケージエクスプローラでのワーキングセットとして「OpenSources」を選択中でも、検索メニューでは、別のワーキングセットを選択することができてしまう。

ここではcm55gsというワーキングセットを選択している。

なぜそうなっているのかは不明だが、ともあれEclipseの各場所で別のワーキングセットを選択できる仕組みになっている。

しかし、これはいかにも不便だ。今開発対象としてパッケージエクスプローラでは「OpenSources」を選択しているのに、検索する場所がそれとは別の「cm55gs」では意味があるようには思えない。

Window Working Setsとは、Eclipseグローバルのワーキングセット選択

上記のような状態を解消するためにWindow Working Setsというものがあるのだが、これはいわば「Eclipse全体で選択できるグローバルなワーキングセット」と言える。

つまりこういうことだ。

  • パッケージエクスプローラや検索ダイアログなど、Eclipseのあらゆる部分で、Windows Working Setsを選択しておく。
  • このWindows Working Setsをそれらとは別の場所で選択する。

ということだ。ともあれ、パッケージエクスプローラの先のダイアログでもWindows Working Setsを選択する。この場合、具体的なワーキングセットはここでは選択することはできない。中身は別の場所で選択するからだ。

そして、検索ダイアログでもWindow Working Setsを選択する。ここでも具体的なワーキングセットを選択することはできない。

Window Working Setsの選択場所

では、Window Working Setsの中身をどこで選択するかなのだが、これも非常にわかりにくいことに、デフォルトの状態では選択機能が表示されていないのである。パースペクティブをカスタマイズしないと出てこないらしい。

まず以下のメニューを実行する。

以下の場所の2つのチェックをつける

すると、Window Working Setsの選択肢を持つボタンが表示されるので、ここからWindow Working Setsに割り当てるワーキングセット選択したり、あるいは別のボタンで新たなワーキングセットを作れるようになる。