Eclipseを使用し続けているといつの間にかWorkspace内のプロジェクトが増えすぎてしまったということに良く遭遇する。
Workspaceはファイルシステム上の特定のディレクトリに生成され、プロジェクトはWorkspaceのディレクトリ配下に置かれる。
したがってプロジェクトが増えるということはWorkspaceディレクトリに多数のプロジェクトディレクトリが生成されるということになる。
肥大化したWorkspaceをその配下に置かれたプロジェクトディレクトリと共にスッキリ整理したくなる開発者も多いだろう。
整理するとは言えプロジェクトを削除するわけにもいかないのが悩ましい。
こんな時は新たに作成したWorkspaceにプロジェクトを移設し、複数のWorkspaceに分散すればいい。
既存のプロジェクトを他のWorkspaceに移動するのだが、まずはEclipseの標準機能としてプロジェクトの引っ越しをサポートする機能が提供されているか調べたところ、どうやらそのような機能は存在しないようだ。
ただ類似する機能は提供されており、それらを組み合わせてプロジェクトの移設を実現する。
環境
- PHPプロジェクト
- Eclipse Platform Version: Neon.2 (4.6.2)
既存プロジェクトをワークスペースへインポート
「プロジェクトのインポート」ウィザードを使って既存プロジェクトをワークスペースにインポートできる。
手順は下記の通り。
- Eclipseのメインメニューから「ファイル」→「インポート」を選択しインポートウィザードダイアログを開く。
- インポートウィザードのリストから「一般」→「既存プロジェクトをワークスペースへ」を選択し「次へ」ボタンを押下。
- 「ルートディレクトリの選択」でインポート元のプロジェクトを選択し「完了」ボタンを押下。
この一連の操作でカレントのワークスペースに既存のプロジェクトをインポートできる。
但し、このインポート機能はプロジェクトのファイルを移動しない。
また、インポートによってプロジェクトのファイルがインポート先のワークスペースフォルダにコピーされるわけでもない。
インポート対象となったプロジェクトはインポート処理の前後で以前と同じディレクトリにある。
更にインポート対象のプロジェクトはインポート先のワークスペース配下になるが、インポート前のワークスペースにも依然として存在している。
つまり同時に二つのワークスペースの配下にある。
筆者はこのインポート機能を勘違いしていて、プロジェクトのインポートとは新しいワークスペースにムーブ(move)するものだと考えていたがmoveではない。
またコピー(copy)ともちょっと違う。
プロジェクトを移設するという目的からすると、このインポート機能はちょっと違うので注意が必要だ。
プロジェクトを移動してからワークスペースにインポート
Eclipseにはリソースを移動するという機能がある(Moving resources)。
この機能は現在開いているワークスペース内のプロジェクトのロケーション(ディスク上の場所)を他の場所に移動する機能だ。
例えば
c:¥workspace¥source¥hello
というプロジェクトを
c:¥workspace¥destination¥hello
に移動するのだ。
手順は下記の通り。
- Eclipseで移動元のワークスペースを開く
- Eclipseのメインメニューから「ファイル」→「移動」を選択し移動ダイアログを開く。
- 「ロケーション」テキストボックスに移動先のディレクトリを指定し「OK」ボタンを押下する。
ここまでの手順でプロジェクトのディレクトリは移動している。
ファイルエクスプローラーで確認すると確かに移動されていることがわかるだろう。
しかし移動したのは物理的なディレクトリというだけで、ワークスペースにはプロジェクトが残っている。
今回はプロジェクトの属するワークスペースを引っ越したいという要求なので、これではまだ要求を満たしていない。
次に行うのは現在のワークスペースから当該プロジェクトを削除し移動先ワークスペースにインポートすることだ。
手順は下記の通り。
移動元のワークスペースからプロジェクトを削除する
- Eclipseで移動元のワークスペースを開く
- PHPエクスプローラーで削除対象のプロジェクトを選択する。
- マウスの右クリックで表示されるメニューから「削除」を選びリソースの削除ダイアログを開く。
- リソースの削除ダイアログボックスでは絶対に「ディスク上からプロジェクト・コンテンツを削除」チェックボックスを選択してはいけない。これ重要。これを選択するとソースファイルが消えちゃいます。
移動先のワークスペースにプロジェクトをインポートする
これは「既存プロジェクトをワークスペースへインポート」の手順を実行する。
以上の手順でワークスペース内のプロジェクトを他のワークスペースに移動(引っ越し)することが出来る。
Eclipseのワークスペースとプロジェクトロケーションの関係がわかってくるとプロジェクトを配置するディレクトリに拘ることも無くなる気もするが、開発環境のディレクトリ構成を手入れするということはあるだろうから、いつか役に立つかもしれないTipsだと思う。