-新しくなったプロジェクトウィンドウ
-スマートグループ
-コード補完
-ゼロリンク

- Xcode を使ってみた-
スマートグループ

Xcode のユーザインタフェース変更のうち、最も目立つのがスマートグループだ。スマートグループっていうのは、特定の規則またはパターンに適合するファイルまたは情報を、動的に構成するグル−プ。たとえば「拡張子が .m のファイル」っていう規則を作っておけば、プロジェクトに登録されているすべての .m のファイルが、そのグループから参照できるんだ。

それだけじゃなくて、ビルドの警告とか検索結果まで、スマートグループで処理されるようになった。これで、「対象となるファイルを探す」っていう操作が、統一的に行われるようになったんだ。ただ、そのせいで Project Builder からインタフェースが変わったし、正直いってエラーと警告のスマートリストは使いにくいと思うんだけどね。

スマートグループは、プロジェクトウィンドウの「ファイルとグループ」部分にある。歯車がついたフォルダで表示される自分で設定できるグループ、エラーと警告、検索結果、ブックマーク、プロジェクトのシンボルとかがあるんだ。

図1 スマートグループ

自分で設定できるスマートグループ

歯車のフォルダで示されるのが、自分で設定できるスマートフォルダ。ワイルドカードを使った簡易パターンか、正規表現を使って、対象となるファイルを絞り込むことができる。新しいスマートグループを作るには、「グループ」→「新規スマートグループ」の下にある、「簡易フィルタスマートグループ」か「簡易正規表現スマートグループ」を選択すればいい。そして、情報ウィンドウを表示して、設定をする。作ったスマートグループは、あるプロジェクトだけで使うことも、すべてのプロジェクトで使うこともできる。

スマートグループの探索範囲は、フレームワークの中までは通じない。これは残念。Cocoa のヘッダファイルとかにも適用したいのに。個人的には、そのかわりとして、フレームワークをグループ化する「*.framework」を設定したスマートグループを置いている。これを使うと、フレームワークのヘッダファイルにすぐアクセスできて、便利。

図2 スマートグループの設定

エラーと警告

エラーと警告スマートグループは、ビルド時のエラーと警告を含むグループだ。いつもは空だけど、プロジェクトをビルドして、その結果エラーや警告が発生すると、それらが中に入れられる。エラーや警告を、プロジェクトウィンドウの詳細表示部で見ることになる。

図を見ると分かるけど、テーブルで表示されるため、エラーメッセージが途中で途切れてしまう。じゃあどうするかというと、カーソルをポイントすると、ツールチップとして全文表示される。はっきりいって、間抜けだ。ちゃんと、普通に全文見えるようなインタフェースを用意せんかい。

図3 エラーと警告

また、エラーと警告は、ビルドウィンドウからも見ることができる。「ビルド」→「詳細なビルド結果を表示」メニューで表示できる。これは Project Builder のものに近いね。

あと、エラーがあることが、ダガーに表示されるようになった。これで、ファイルを表示すると、エラーの位置が一瞥できる。エラーか警告のアイコンにカーソルをポイントすると、ここでもツールチップが表示されるよ。これは便利。でも、一行に複数のエラーがあると、どれか 1 つしか表示されない。これは間抜け。

図4 ビルドウィンドウとダガーでのエラー表示

検索結果

「検索」→「プロジェクト内で検索...」を使うと、検索シートがでるんだけど、その検索クエリが検索結果スマートグループに入るようになった。検索の履歴が検索結果スマートグルプに残って、選択することで、すぐに過去の検索を呼び出せる。これは便利。検索結果は、詳細表示部に出るよ。

図5 検索結果

ブックマーク

プロジェクトの好きなところにブックマークを設定できる。これも、スマートグループからアクセスするようになった。

プロジェクトのシンボル

プロジェクトに登録されたソースコードの、シンボルを一覧表示できるようになった!プロジェクトのシンボルスマートグループを選択すると、クラス、インスタンス変数、インスタンスメソッド、関数の一覧が。もちろん、右上の検索窓で絞り込むことができる。そして、それを選択すると、シンボルの宣言部へ。おぉ、これはとても便利だ。

図6 プロジェクトのシンボル


[Home] [Download] [Archives] [BBS] [Cocoa Programming Tips 1001] [Core Foundation の秘密] [Safari Developer Center] [はじめてのブラウザのつくり方] [Sketch BP] [スクリーンセイバーを作ろう] [Objective-C 最適化] [Authorization API 完全理解] [Mac OS X Programming Books Review] [オブジェクト指向の言語比較論] [panther-dev]

mailto: mkino@xd5.so-net.ne.jp