如何在Xcode中创建自定义“文本宏”?

时间:2011-02-16 06:49:22

标签: xcode macros

如何在Xcode中创建自定义代码完成宏。我用Google搜索并找到了一些方法,但我完全不了解它们。所以有人能告诉我怎么做吗?

谢谢大家......

1 个答案:

答案 0 :(得分:2)

This post from ablepear有一个添加自定义文本宏的教程。以下是教程指定的必要步骤,用于为Objective-C创建自定义文本宏。

  1. 转到Xcode应用程序文件(root / Developer / Applications /)右键单击(按住Control键单击)和“显示包内容”。 导航到(Contents / PlugIns / TextMacros.xctxtmacro / Contents / Resources /)。 选择 Objective-C.xctxtmarco 文件并复制它(command-c)。 打开一个新的Finder窗口并选择您的主文件夹。 导航到(库/应用程序支持/开发人员/共享/ Xcode /)。 在Xcode文件夹中粘贴(命令-v)Objective-C.xctxtmacro文件。

  2. 打开Objective-C.cxtxtmacro。它包含一个约26项的数组,每个数组都是字典。单击所选单元格右侧的“+”符号/选项卡。这将为plist根数组添加一个新项目,这将是我们的新条目(文本宏定义)。

  3. 选择新项目并将类型从字符串更改为字典。现在点击显示三角形(所选单元格的左侧),这将使三角形从右指(折叠)旋转到指向下(展开)。您可能还注意到,在展开项目时,右侧的“+”符号将变为一组行。这让我们将“儿童”名称/值对添加到我们的新项目中。

  4. 我们需要为新项目添加一些“子”名称/值对以使其起作用,它们如下所示:

    • 标识符 - 这描述了宏的语言(父级).identifier。
    • BasedOn - 这是(父)语言(objc)。
    • IsMenuItem - 布尔值。这将在“编辑”菜单中创建一个菜单项。
    • 名称 - 名称在(上方)菜单项中收听。
    • TextString - 将通过文字宏插入的实际字符串。
    • CompletionPrefix - 您输入的内容为文字宏的键。
  5. 将值添加到键中。典型的宏看起来像这样(例如:NSLog文本宏)。

    • 标识符 - objc。 flog
    • BasedOn - objc
    • IsMenuItem -YES
    • 名称 - 功能(NSLog)
    • TextString - NSLog(@“FUNCTION:%s”,_ FUNCTION _);
    • CompletionPrefix - flog

    您可以将Identifier和CompletionPrefix命名为您想要的任何名称,只要它不与任何现有的完成标识符冲突即可。这里。 flog ,用于功能日志。

  6. 阅读above link中的帖子,完全了解。


    重要更新:上述v宏似乎无法在 Xcode 3.2 中使用。为了使其工作,我们必须添加密钥

    OnlyAtBOL = YES; // or NO 
    

    到xctxtmacro文件中的每个宏定义。此键指定宏仅在行首 工作 ,或者不在行的开头即<。>,仅在行的开头工作强>。所以 flog 宏看起来像这样。

    {
        Identifier = objc.flog;
        BasedOn = objc;
        OnlyAtBOL = YES;
        IsMenuItem = YES;
        Name = "Function (NSLog)";
        TextString = "NSLog(@"FUNCTION: %s", _FUNCTION_)";
        CompletionPrefix = "flog";
    }
    

    我希望将来会对某人有所帮助。