『Cの絵本』と『Xcode』、その2(C++用のXCodeテンプレートをカスタマイズしてみました)

http://d.hatena.ne.jp/Yuny/20110124/p1
のその後です。

Mac OS X 10.6の場合。

  1. Xcodeを起動
  2. 「新規プロジェクト」で「Application」の「command line tools」を選ぶ
  3. C++,stdc++」を選択
  4. 適当な名前でプロジェクトファイルを作成
  5. 「main.cpp」を使えばC言語の練習が出来る

というのが、前回突き止めたC言語練習の手順でした。

ところで、初期状態ですと

#include <iostream>

int main (int argc, char * const argv[]) {
    // insert code here...
    std::cout << "Hello, World!\n";
    return 0;
}

という、よく分からない*1余計な文言が書いてあるわけです。
毎回、これを

#include <stdio.h>

int main () {
	printf("\n\n");
	
}

に書き直してから、printf("\n\n");*2以下の行にサンプルプログラムを入力していたのですが、この手間が面倒でしかたがなくて。

いろいろ調べていて、「XCode」の「Mac OS X」テンプレートの作り方を見いだしたので、メモしておきます。

/Developer/Library/Xcode/Project Templates

のフォルダを見つけます。
その中に、各プロジェクトのテンプレートが入っています。目的のテンプレートのフォルダを複製しましょう。
今回は、「Command Line Tool」フォルダにある「C++ Tool」フォルダを複製し、「C++ Tool (custom) 」という名前に変えました。
C++ Tool (custom) 」の中にある「C++Tool.xcodeproj」をXcodeで編集します。
今回は、「main.cpp」の内容を先ほど挙げたように修正し、保存しました。
編集したら、Xcodeを終了しましょう。
それから、「Command Line Tool」フォルダにある「TemplateChooser.plist」を、フリーのテキストエディタ「mi」で開いて書き直します。

---(前略)---
	<dict>
			<key>Key</key>
			<string>CPlusPlus</string>
			<key>Title</key>
			<string>C++ stdc++</string>
	</dict>
---(後略)---

とありますので、それをコピーして、このすぐ下の行に次のように記入しておきます。

---(前略)---
	<dict>
			<key>Key</key>
			<string>CPlusPlus</string>
			<key>Title</key>
			<string>C++ stdc++</string>
	</dict>
	<dict>
			<key>Key</key>
			<string>CPlusPlus(custom)</string>
			<key>Title</key>
			<string>C++ stdc++(custom)</string>
	</dict>

---(後略)---

それから、同じファイルの下部にある項目も書き換えます。同様に以下のように「CPlusPlus(custom)」を追記します。

---(前略)---
		<key>CPlusPlus</key>
		<string>C++ Tool</string>
		<key>CPlusPlus(custom)</key>
		<string>C++ Tool (custom) </string>
---(後略)---

これを保存し、Xcodeを起動すれば、今作成した「C++ Tool (custom)」テンプレートを使うことが出来ました。

iPhoneアプリケーション用のプロジェクトテンプレートカスタマイズ方法は結構見つかるのですが、XcodeでのC++勉強用のカスタマイズ方法がなかなか見つからないので書いてみました。結構便利ですよ。


ちなみに、今『Cの絵本』は『制御文』のあたりをやっています。Basic言語とは同じことでも書き方が異なっていて面白いですね。

*1:このまま実行すると、Hello, World!が表示されるので、サンプルとして書いてあるのだとは思いますが。

*2:ターミナル冒頭表示事項に続けてプログラム実行結果が表示されると分かりにくいので、最初に改行を入れています。