Version 1.3
プロジェクトとワークスペース
「じゃ、前回の続き」
『この前はプロジェクトフォルダの中を探検してて、"FirstProject.dsp"
まで見たんだよね。あと "FirstProject.h" とか "FirstProject.cpp" とか
も見たけど』
「今回はその続きだから、 "FirstProject.dsw" 開いてみようか。あ、その
前に、プロジェクトを閉じてみて」
『プロジェクトを閉じるって?』
「タイトルバーを見てみて」
最大化されたウィンドウのタイトルバーには "FirstProject - Microsoft
Visual C++" と書かれている。
『あ、 "FirstProject" って、この前作ったプロジェクトの名前だよね。っ
てことは、それを今開いているってことなんだ』
「そういうこと」
『でも、開いているとどうなるの?』
「じゃ、この状態で "FirstProject.dsw" をドロップしてみる?」
マウスカーソルが動き、フォルダからVCへと "FirstProject.dsw" をド
ロップする。
が、何も起こらない。
『……何も起きないね。バイナリーエディタも開かないし、テキストエディ
タも。なんで?』
「じゃ、今度はプロジェクトを閉じてからドロップしてみようか。【ファイ
ル】−【ワークスペースを閉じる】を選んでみて」
『<プロジェクト>と<ワークスペース>って同じものなの?』
「ほぼ同じもの」
『ほぼぉ!?』
「いやあのっ、えっとねー、<プロジェクト>は<企画>、<ワークスペー
ス>は<仕事場>でしょ。<企画>だけじゃ物事は進まないわけで、その
<企画>を管理して実行するのが<仕事場>の役目。だから、<企画>を
作ると必ず<仕事場>も作られるわけ」
『だから同じ、なわけね』
「でも、<仕事場>がひとつでも、複数の<企画>を抱えていることもある
でしょ。それと同じように、<ワークスペース>にもいくつもの<プロジェ
クト>を持たせることができるってこと」
『この "FirstProject" の場合、<ワークスペース>の中に<プロジェクト>
がひとつしかないから<同じ>、ってことねー。でもなんでVCは<ワーク
スペース>単位で処理するの?』
「VCは、自動的に<ワークスペース>内のすべての<プロジェクト>を実
行してくれるから」
『ってことは、<プロジェクト>がみっつあったら、いっぺんにみっつアプ
リが作れちゃうってこと? 便利ねー』
「アプリとは限らないけど、そういうこと。でも当分は<プロジェクト>と
<ワークスペース>は一対一の関係」
『うん、その方がいいかな、なんかいっぱい出てきても分かりにくいと思う
し。で、なんだっけ』
「ワークスペースを閉じるんだってば」
『あ、そうそう』
ドロップダウンメニューから【ワークスペースを閉じる】を選ぶ。
【ClassView】の中身が単色表示され、タイトルバーは "Microsoft Visual
C++" だけになる。
『はっ!! 危うく水希ちゃんの甘いマスクに騙されるところだったわっ!』
「えっ、な、何をいきなり」
『この前見た【ClassView】とかのあったウィンドウ、あれも<ワークスペー
ス>って言ってたじゃない!』
勝手にマウスカーソルが動き、メニューの【表示】−【ワークスペース】
を選択状態にする。
「そだよ」
『そだよって何よその素知らぬ顔してばばんばーんみたいなセリフは』
「古い歌知ってるねー……じゃーさ、そのとき表示した【ClassView】の一
番上になんて書いてあったか憶えてる?」
『えーと……まぐまぐのURLってなんだっけ』
「バックナンバー見んとわからんのかい!! "FirstProject クラス"って
書いてあったでしょ」
『そうだっけぇ』
「ま、あとでまた見ればいいや。この【ClassView】とかのタブがあるウィ
ンドウも<ワークスペース>って呼ぶの。これを使うと、ワークスペース内
のファイルや、他のプロジェクトのファイルとかも一括して管理できるわけ。
分かったかな?」
『はぁい……』
「ま、疑問を持つことは悪いことじゃないから」
『そーよねー』
睨み付ける水希。目をそらす火美ちゃん。
『今度可動式のCCDカメラ付けてね』
「ヤダ。って、あ〜また話が続かなくなっちゃった」
『 "FirstProject.dsw" をドロップするんでしょ』
「分かってるならする!」
『はいはい』
フォルダから "FirstProject.dsw" がドロップされる。タイトルバーが
"FirstProject - Microsoft Visual C++" に戻り、ワークスペースウィン
ドウの【ClassView】の中身も復活する。表示内容は先ほどと同じ、
"FirstProject クラス" 、 "CFirstProjectApp" 、 "CFirstProjectDlg" が
ツリー形式になっている。
『あ、元に戻った』
「つまり、ワークスペースを開いているときにドロップしたら、何も起きな
い。ワークスペースを閉じてからドロップしたら、ワークスペースが開いた。
ってことは?」
『ってことはー……ワークスペースそのもののファイルってこと?』
「正解!」
『キャーッうれしーっ!!』
「そういうこと。ま、拡張子の ".dsw" の "w" は "WorkSpace" の "w" って
思えば間違いないかな」
『あ、なるほどね』
「んじゃもうちょっとこのファイルについて見てみようか」
『見てみるって?』
「どういうことだと思う?」
『そうねー、この前の "FirstProject.dsp" の時は、ドロップしてもダメで、
代わりにファイルダイアログ開いて【テキスト】で開いたんだよね。それと
同じことするとか』
「OK!! 分かってるじゃない」
『そうでしょそうでしょー』
「んじゃ、やってみようか。憶えてる?」
『……まぐまぐのURLって』
「それはええて! んじゃもう一度。メニューの【ファイル】−【開く】の
ダイアログを開いて」
ファイルダイアログが開く。
『あ、思い出したかも。【ワークスペースファイル】としてじゃなく【テキ
ストファイル】として開くから【用途】を【テキスト】にして、あ、
"FirstProject.dsw" が表示されてないから【ファイルの種類】を【すべて
のファイル】にして、選択して、【開く】を押してと……』
"FirstProject.dsw" の中身がテキストファイルとして表示される。上か
ら2行目までには日本語が、その下の行には "#" が並ぶ行や "{{{" しかな
い行がある。
『……なんかハズレっぽいねー。なんかあるとしたら、
Project: "FirstProject"=.\FirstProject.dsp - Package Owner=<4>
って行かなー。……って、 "FirstProject.dsp" って書いてあるね』
「 "FirstProject.dsp" がどんなファイルだったか憶えてる?」
『まぐまぐのURLって』
「しつこいっ!」
『確か、 "Cl.exe" っていうアプリが<コンパイル>するとか、その設定を
変える<スイッチ>とか、<コンパイル>するファイルとかが書かれてるん
だよね』
「そうそう、憶えてるじゃない」
『これは結構印象深いのよねー。ね、ふと思ったんだけど、もしかしてこの
".dsp" のファイルが<プロジェクト>のファイルで、 ".dsw" のファイル
が<ワークスペース>のファイルなんじゃない?』
「ど、どーして?」
『 ".dsp" の "p" って "Project" の "p" っぽいし、さっき<ワークスペー
スの中にプロジェクトがある>って言ってたでしょ、それって
"FirstProject.dsw" の中身にそのまま一致するかなって』
「そのとおりっ!! 分かってきたじゃない!!」
『そうかなそうかな、やっぱそうかな。とりあえずプロジェクトとかワーク
スペースとか、その辺結構分かってきたかも』
「だからってプログラム組めるわけじゃないんだけどね」
『ガーン』
「あ、あとさ」
『ドキ、なんかまた釘を刺そうとしてるんでしょー』
「違うって。今みたいな<ふと思ったんだけど>って、実は結構大切なんだ
よ。これまでは<正解!>って僕が言ったのだけを試してたけど、そういう
の関係なく色々と試すことが、ホントは大事だから」
『つまり<するとか?>とか訊く前に勝手にしちゃえばいいってこと?』
「そういうこと。そういうのを色々試すのが、プログラミング上達の秘訣か
な。この講座は、そういう<やる気>を出すための加速器ってところかも」
『だったらあんまけなさないで、もっと褒めてよね〜』
「はいはい。というわけで、つづく!!」
/*
Preview Next Story!
*/
『プロジェクトやワークスペースって、なんか働き者って感じ』
「目立つ存在じゃないからねー。でも、もっと目立たない裏方さんもいたり」
『へー』
「というわけで」
< Version 1.4 ワークスペースの裏方さん >
『につづく!!』
「次回はさらに地味〜にいくから」
『つまんなそー』
「つまんないかも」
『……』