【问题标题】:Why does Xcode autocomplete always put my custom code snippets above actual completions?为什么 Xcode 自动完成总是将我的自定义代码片段置于实际完成之上?
【发布时间】:2018-11-10 20:56:20
【问题描述】:

我正在使用一些个人 Xcode sn-ps 作为快捷方式,例如在主队列上调度,或者使用 @synchronized 代码。他们从未使用常规方法干扰 Xcode 的自动完成功能。

前段时间,我格式化了我的 Mac,安装了 Xcode,并以与以前相同的方式重新创建了快捷方式:

从那时起,当自动完成包含空格的方法时,我的快捷方式总是在其他任何东西之前,如下所示:

方法的完成显然应该在我的自定义 sn-ps 之前。

它也发生在属性完成的其他任何事情之前:

当我输入 ddm,或 ssy 等时,它们应该被列出并突出显示,就像默认的 sn-ps 一样。他们不应该在一切之上。

为什么在格式化后会改变,我该如何纠正这种(错误)行为?

(我目前使用的是 Xcode 9.3,但问题也曾出现在 9.3 之前)

更新:该问题在 Xcode 9.4 上仍然存在。

更新 2:该问题在 Xcode 10.1 上仍然存在。

【问题讨论】:

    标签: objective-c xcode autocomplete xcode9 xcode9.3


    【解决方案1】:

    嗯,有一个新的更新Xcode 9.4,尝试更新,因为我有同样的问题,我的解决方案是删除Xcode并重新安装最新版本,但我认为只有你需要清除配置才能像第一次一样返回发射。

    在 Xcode 9.3 的发行说明中说:

    • 代码片段库过滤器栏中的文本现在包括代码完成快捷方式。 (8147546)
    • 用户定义的代码 sn-ps 现在出现在库的顶部,而不是底部。 (8901028)

    您可以在这里阅读完整的更改Xcode Releases Notes

    【讨论】:

    • 嗯,所以“bug”实际上是一个特性。只是想知道是否有任何(非 hacky)方法可以恢复这种行为以像以前一样使用 sn-ps/autocomplete。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 2011-04-11
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    相关资源
    最近更新 更多