2010年10月7日木曜日

Xcode のマクロ定義

Xcodeのマクロ定義は下記が詳しい。

【Xcode】設定しておくと便利なカスタマイズいろいろ | iphoneアプリで稼げるのか

コピー元
/Developer/Applications/Xcode.app/Contents/PlugIns/
  TextMacros.xctxtmacro/Contents/Resources/ObjectiveC.xctxtmacro

これを下記へコピーする。
~/Library/Application Support/Developer/Shared/Xcode/Specifications/

後はこれに追加していけばよい。

以下はプロパティ定義文を挿入するマクロ。
       {
            Identifier = objc.property1;
            BasedOn = objc;
            IsMenuItem = NO;
            Name = "@property retain";
            TextString = "@property (nonatomic, retain) <#!statements!#>";
            CompletionPrefix = ppr;
            OnlyAtBOL = YES;
       },

        {
            Identifier = objc.property2;
            BasedOn = objc;
            IsMenuItem = NO;
            Name = "@property assign";
            TextString = "@property (nonatomic, assign) <#!statements!#>";
            CompletionPrefix = ppa;
            OnlyAtBOL = YES;
       },

        {
            Identifier = objc.property3;
            BasedOn = objc;
            IsMenuItem = NO;
            Name = "@property outlet";
            TextString = "@property (nonatomic, retain) IBOutlet <#!statements!#>";
            CompletionPrefix = ppo;
            OnlyAtBOL = YES;
       },

"ppo"と打って ESCキーを押すと下記のようになる。


同様に "ppr" "ppa" と打つと次のようになる。

なかなか便利。

2 件のコメント:

  1. 良記事、ありがとうございます。
    これからかなりタイプ数が減らせそうです。

    あと1点ちょっと気になったのですがマクロ部分先頭の部分に { が抜けてる様です。

    Identifier = objc.property1;
    BasedOn = objc;

    {
    Identifier = objc.property1;
    BasedOn = objc;

    これから試す方の為にも修正して頂けましたら幸いです。

    返信削除
  2. nakamura001 さん、こんばんは。
    指摘ありがとうございます。
    修正しておきました。

    返信削除