【问题标题】:How to make Xcode autocomplete @property如何使 Xcode 自动完成@property
【发布时间】:2013-03-05 12:08:11
【问题描述】:

如何让 Xcode 自动完成 @property 指令? 我在某人的 Mac 上看到过。

【问题讨论】:

  • 你确定你没有看到@synthesize 属性被自动完成吗?
  • @Jean 不,我特别看到 @property ( , ) 类型 *name (或类似的东西)。
  • 闻起来像第三方实用程序文本扩展(例如 Dash 所做的那样)...或者 Xcode 中的自定义 sn-p

标签: xcode autocomplete


【解决方案1】:

正如 Alladinian 在评论中已经提到的,您可以通过 Xcode 中的自定义“代码片段”来实现这一点。要定义代码 sn-p,首先在源文件中键入文本, 例如

@property (nonatomic, strong) <#type#> *<#name#>;

(&lt;#...#&gt; 是一个特殊的占位符,因此您可以使用 制表键稍后。)

然后你选择整行,并把它拖到“代码片段库”:

双击新代码sn-p,并为其命名和快捷方式:

现在,当您键入快捷方式时,Xcode 将提供补全:

选择你的代码sn-p,它会被插入到源文件中:

您可以使用制表符跳转到“类型”和“名称”。

【讨论】:

  • 就是这样!这正是我想要的。谢谢!
  • 对于那些无法拖动文本选择的人,您需要单击并按住一两秒钟才能拖动。否则,您只是在更改文本选择区域。
  • 对于新手(我):“完成快捷方式”是 xcode 识别您的快捷方式的关键行。例如,在上面的例子中,如果'Completion Shortcut'是'tt',那么我在xcode中输入'tt',可以按回车选择'@property (nonatomic, strong) *; ' (感谢 Martin R 的出色、清晰的回答)
【解决方案2】:

选中 RedBox 中显示的框,您的 XCode 自动完成功能将起作用

编辑:

如果您能够在 .m 文件中看到,那么您的 .h 肯定包含一些语法错误。由于该错误,LLVM 编译器显示要更正的信号,并且您的自动完成功能不起作用。

编辑 2:

根据您的评论,在输入 @prop 时,即使在 XCode4.6 中,自动完成功能也不会显示 erty(,)

【讨论】:

  • 显然,Shimi Bitton 已经做到了,因为他“@synthesize 自动补全没有问题”。
  • @Jean:检查我的编辑。如果不是这样,那么这个问题可能是假的。
  • 这个问题可能是假的。除非他在谈论“读写”“强”等自动完成不起作用。严重的语法错误确实会阻止自动完成功能正常工作。
  • 我真的不明白你为什么认为这是假的? Xcode 自动完成在 .h 和 .m 文件中对我来说都很好。我刚刚看到一个我不知道可能的属性的完成,所以我问我如何才能启用它..
  • 不,肯定是 Xcode。我猜这是@Alladinian 所说的插件。
【解决方案3】:

@property 不会自动完成自身。但是,@synthesize 可以。 看到这个问题:

Xcode [ESC] fail to auto complete the property in .m file

【讨论】:

  • 我对@synthesize 自动补全没有任何问题。我特别看到:@property (,) type *name(或类似的东西)。
  • Xcode 怎么可能猜到你要声明的新属性的名称?
  • 它没有,我只是不记得那部分到底是什么,因此“或类似的东西”......
  • 所以,你的意思是在 @property(readwrite, retain) NSString* myStr;您希望自动完成提供读写和保留?还是别的什么?
  • 不,我希望它能够像自动完成方法一样自动完成,您必须使用 TAB 填充其余部分(例如 CGRectMake)。
猜你喜欢
  • 1970-01-01
  • 2014-04-01
  • 2011-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-28
  • 2016-07-14
  • 2015-10-10
相关资源
最近更新 更多