Xcode

Xcodeを触る上で知っておいた方が良いTips

More than 5 years have passed since last update.

Xcodeの便利ツールとかじゃなくて、Xcodeを触る上で知っておいたほうが有利なこと

これからも追加してく


Double Click Navigation

誰か1度はやるかもしれない

Xcodeを起動したらToolbarもAssistant Editorもない、この画面

まさに絶望、やる気をすべて奪う悪魔のウィンドウ

xcode1.jpg

原因はProject Navigatorのファイルをダブルクリックで新しいウィンドウを開いたままXcodeを閉じてしまうこと。

解決にはPrefarence... > Navigation > Double Click NavigationUses Separate Tabにすること

これで、ファイルをダブルクリックしたときは、タブで表示される。


ショートカット

私がよく使うのだけ、他にもいくつかあるけど

key_bind.jpg


編集

Esc 補完機能の呼び出し

Cmd + / コメントアウト(または解除

Cmd + ¥ ブレークポイントの設置(または削除


ファイル操作

Cmd + T タブ

Cmd + Shft + [ 後ろのタブを開く

Cmd + Shft + ] 前のタブを開く

Cmd + W タブを閉じる

Cmd + Shft + F ワークスペースから検索

Cmd + G 次の検索対象を開く

Cmd + Shft + G 前の検索対象を開く

Cmd + Shft + Opt + F ワークスペースから置換


ビルド

Cmd + R 実行

Cmd + B ビルド

Cmd + . 実行、ビルドを停止

Cmd + Shft + K クリーン


その他

Cmd + Shft + 2 Organizarを開く


Function Menu


#pragma mark -

メソッドをグルーピングする時にコード内に#pragma markと記述することができる

また、#pragma mark -と記述することで、ラインを引く事ができる


AppDelegate.m

#pragma mark グルーピングA

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application
{
}

#pragma mark - グルーピングB
- (void)applicationDidEnterBackground:(UIApplication *)application
{
}


結果


xcode2.jpg


また、#pragma markはXcode4.4からソースエディタジャンプができるので、次のようにClassNameを指定することで飛ぶ事ができるようになった


AppDelegate.m

#pragma mark - ClassName

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
return YES;
}


// TODO:

コメントアウトにTODO:を書く事で、それを強調することができる


AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{
// TODO: Override point for customization after application launch.
return YES;
}

結果


xcode3.jpg



#warning

ビルド時に警告として表示させる


AppDelagate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{
#warning 警告ですよー
return YES;
}

結果


Xcode4.jpg



FIXME: !!!: ???:

あんまりつかわない気がする