Eclipseと「プロジェクト」

GNU Emacs等の他のIDEを使っていて、最初面食らうのは、
「Eclipseには新規ファイル作成が無い!!!」
って事ではないでしょうか。
これには、最初は結構ビックリします。
Eclipseの[ファイル]メニュー。
通常のテキストエディタ類には「必ずある」[新規]ファイル作成がどこにも見当たらない。
[ファイルを開く]はあるのに・・・・・・。

これはどう言う事か、と言うとEclpseはプロジェクト単位でファイル類を管理しているから、なんです。
これが最初はもの凄く分かりづらい。
(ただし、Javaユーザーには当てはまらないでしょうが・・・・・・。)

Eclipseではworkspaceと名づけられたディレクトリに作成したソースファイルを全て保存するようになっています。
この辺もGNU Emacsと対照的で、Emacsではそのような「特殊目的のディレクトリ」を自動で作成しません(もちろん、個人で作成する分には構わないのですが)。
これはお互いのOS背景が違う、と言う事に由来してると思います。
(決してUNIX由来ではないのですが)UNIXで使われて来たEmacsにとって、Eclipseで言うworkspaceと言うのはHOMEディレクトリそのもの、です。つまり、作成したソースファイル(あるいはテキストファイル)は「どんどんHOMEに山積みになっていって」構わない、と言うのがあるんでしょう。「プログラムを書く=コンピュータを使用する」の色彩が強いUNIXでは、これは当然の背景なんでしょうね。
一方、Eclipseがどうなのか、と言うとこの辺は微妙なんですが、少なくとも発展してきた背景はWindowsでしょう。概念的に違う(と言う事はディレクトリ=フォルダ構造が違う)Windowsではそもそも「プログラムを書く」事自体が重要視されませんし、また、マルチユーザー指向でもないので、UNIXで言うHOMEの観点がありません。
たまにWindowsに戻って困るのは「あれ、俺専用のディレクトリって何だっけ?」とボケかましたりしますが(笑)、要するにマルチユーザーシステムでも無いので「個人ディレクトリ」の観点が薄い、と言う事。そしてUSERフォルダってのもちょっと毛色が違うんですよね。確かにドキュメント類保存の為のフォルダなんかはありますが、どっちかと言うとWord/Excel専用です。果たして「作成したソースファイルをどこに保存しようか?」とかくだらない事で悩んだりします。
多分、UNIXで言うHOMEに一番近いのは、Windowsでは「デスクトップ」なんですよね、使い勝手で言うと。ところが、そこにテキストファイル類を置いても見た目がゴチャゴチャになって結構みっともなかったりするんです(笑)。従って、Windows文化では「プログラミング言語」ないしは「IDE」によって「専用のフォルダを作る」ってのがどっちかと言うと流儀になっているようです。単純に言うと、workspaceと言うのはそう言うWindows型の文化背景を引きずっているようです。

さて。Eclipseのworkspaceのシステムの優秀なところは、このworkspace内にまたプロジェクト毎に「ディレクトリ」を自動作成する辺り、です。この「プロジェクト」と言うのは単純に言うと単なるディレクトリなんですが、最初に指定したプロジェクト名、プログラミング言語、ソースファイルを全て一括、纏めて管理出来ます。つまりworkspace内がゴチャゴチャせずに、「目的のプログラム毎に」きちんと纏めてくれる、と言う辺りが偉いのです。
これもWindows型文化背景でしょうね。Emacsはそんな気の利いた機能はありませんし、もっと言っちゃうと余計な事はしないのがUNIXの流儀です。お蔭さんで、PC-UNIXを暫く使っているとHOME内がゴチャゴチャしてきます(笑)。HOMEを開ける度に惨憺たる気持ちになってしまうんですが(笑)。「もっと整理整頓せねば」とか(笑)。
いや、実はこれは勘違いで、GUIでブラウズするのが間違いなんですけどね(笑)。UNIXの場合、強力な検索機能があるんで、「GUIで見なけりゃイイ」ってのがホントのとこです(笑)。目的のファイルを簡単に探し出すのはUNIXのお家芸ですし、GUIじゃなかったらそんなに「ゴチャゴチャしてる」とも思いません。逆に言うと、Windowsの端末が使いづらく、またWinodwsは極端に「視覚的である」ってのが一つの理由でしょう。しかし、その辺の性質をEclipseは上手く回避するように設計されているようです。
また、EclipseはJavaで開発されてJavaを書く為に当初作られた、と言うのもこのシステムに多かれ少なかれ影響を与えているのではないでしょうか。単純なプログラムならいざ知らず、クラスファイルだ何だ、と作成しなければならないJavaでは「プログラムを作る」際、様々なプロジェクトのファイルがゴチャゴチャと共存するのを嫌うのではないでしょうか?「プロジェクト毎に」まとまってスッキリしてた方が良い、と言う発想があるような気がします。

いずれにせよ、Eclipseでプログラムを作る際、最初に行わなくてはならないのは「新規ファイル作成」ではなくって「新規プロジェクト作成」なのです。これにより、目的の作成プログラムの為の「ディレクトリ」を自動作成させて、その中でファイルを作成したり作業をしたりする、ってのが流れになります。
初め「プロジェクト」と聞いた時(英単語の意味が分かっているにせよ)「何じゃそりゃ?」とか思う確率が高かったりしますが、Eclipseではとにかく「プロジェクト基準」。それさえ分かってしまえば、あとは比較的すんなりとEclipseの世界に浸れるとは思います。

ここでは、Eclipseの「プロジェクト」の使い方の概観を眺めてみます。
一旦使い方を覚えてしまえば、あとは基本的には全てのプログラミング言語で同じやり方なんで、応用は効くでしょう。
なお、基本的にここではJavaは扱いませんが、EclipseのデフォルトはJavaなので、一応それで説明します。

[ファイル]メニューから[プロジェクト]を選びます。
実はデフォルトではJavaプロジェクトが選べるんですが、一応、汎用の方法でこれを選ぶ事、とします。

[ウィザードを選択]に入ります。
ここではデフォルトのJavaを選んでるんですが、要するにEclipseでは「プラグイン」をインストールするとこの画面での「扱える言語が増える」のです。
例えばCuspと言うプラグインを導入すれば[Lisp]と言う言語が選択肢として増えますし、Pydevと言うプラグインを導入すれば[Pydev]と言う選択肢が増えます。
ここでプロジェクト毎にその言語専用のディレクトリをworkspace内に作成するようになっているのです。

[次へ]をクリックします。
ここではJava プロジェクトの作成となってますが、CupsだったらLispプロジェクトですし、PydevだったらPydevプロジェクトです。
要するに、ここでは特定のプロジェクト名(大体では、作りたいアプリケーション名になるでしょう)を付けます。
これにより、特定のアプリケーション作成の為のディレクトリを作成します。
「良い名」を命名出来たら[終了]ボタンを押します。

ワークベンチに移動するとプログラムを書くための環境がセッティングされています。
プラグインによってはいくつかデフォルトのファイルを既に作成している場合もあります(例えばCusp等)が、大体は「何もファイルが存在しない」と思います。
そして、プロジェクトを作成した後、ここで始めて、いわゆる「新規ファイル作成」が可能になっているのです。

[ファイル]メニューから[新規]→[ファイル]を選びます。
そうすると、[ファイル]画面になります。
ディレクトリのツリー構造がどうやって定義されているのか、もプラグインによって異なりますが、いずれにせよ、ある親ディレクトリ直下にファイルを作成します。
ここでは要するに/workspace/new_java_project/src/直下にtest.javaと言うファイルを作成してみます。

test.javaが作成されました。
あとは自由にプログラムを書き始めればオーケーです。


これが基本的なEclipseの使い方、となります。
最初はちょっと取っつき辛いんですが、慣れれば「プロジェクト」のスタイルに愛着を感じるかもしれません。
Comments