我在〜/ Library / Application Support / Developer / Shared / Xcode / Specifications中创建了一个“ObjectiveC.xctxtmacro”文件,代码如下。我在Xcode的Edit> Insert Text Macros> Objective-C菜单项中看到“Hello”,但是当我尝试使用control-dot调用它时,没有任何反应。有什么想法吗?
(
{
Identifier = objc.hello;
BasedOn = objc;
IsMenuItem = YES;
Name = "Hello";
TextString = "Hello, Xcode!";
CompletionPrefix = "hello";
IncludeContexts = ("xcode.lang.objc");
}
)
答案 0 :(得分:3)
您需要在宏中添加 OnlyAtBOL 规范。
试试这个:
(
{
Identifier = objc.hello;
BasedOn = objc;
OnlyAtBOL = YES;
IsMenuItem = YES;
Name = "Hello";
TextString = "Hello, Xcode!";
CompletionPrefix = "hello";
IncludeContexts = ("xcode.lang.objc");
}
)
我是文本宏的新手,但据我所知,OnlyAtBOL意味着这个文本宏只有在行的开始(是)时才会完成( NO 强>)。
如果没有这个规范它不起作用似乎很奇怪,我不知道它是不是一个bug或特征:)
您可能想要查看此主题,因为它可能与您尝试执行的操作相同: http://forums.pragprog.com/forums/104/topics/3334