Xcode中有一个新的自动完成功能。可能是有用的,因为它不仅检查名称的开头等。但我发现它经常没有找到类名或常量名称等。我需要自己输入整个名称。总之,我发现它让我的生活变得更加困难,编码也更耗时。有没有办法改用以前的工作方式?
答案 0 :(得分:18)
Xcode 7.3.1
在Xcode中>偏好>文字编辑
取消选中Enable type-over completions
重启Xcode
答案 1 :(得分:14)
似乎清除了XCode中的“启用类型转换完成”复选框 - >偏好 - >文本编辑可以解决问题。至少在我的情况下,自动完成功能会回归到某种旧方式,所以它可以自动完成我之前必须手动键入的类名。
答案 2 :(得分:5)
这绝不是一个合适的解决方案,但它让我(过去几天)几乎没有保持理智:
每次构建后,您都需要删除Derived Data文件夹。您可以在Xcode > Preferences > Locations > Derived Data
中找到此文件夹。只是删除整个事情,它将启动一个重新索引步骤,该步骤应该恢复正常的自动完成功能。
不幸的是,我发现一旦构建,自动完成行为就会恢复到其破坏状态。
答案 3 :(得分:4)
只需打开Xcode派生数据文件夹并删除文件夹
即可 /Users/yourUserName/Library/Developer/Xcode/DerivedData
然后重新启动Xcode,现在自动完成就像一个魅力
答案 4 :(得分:1)
我的印象是一些'部分'一段时间后,自动完成只是失败了。我用来重启Mac以使其恢复工作。但有时它会很快失败。 也许@Alex Bykov的结果与重启相结合可以解决问题。
无论如何:Xcode的自动完成总是废话。 AppCode用来让它变得更好。不幸的是还没有迅速。
答案 5 :(得分:1)
关闭Xcode,打开Xcode,让它索引,它有效。
答案 6 :(得分:0)
它没有找到班级名称
作为解决方法,您可以尝试按下 Command + Shift + K 和 Command + B 好几次,它暂时有效。
答案 7 :(得分:0)
Xcode 7.3.1
我将分享另一个可能的原因,经过几天我们发现了。我们有多个方案,在其中一个方案中,桥接标题正在导入一个不再存在的文件。因此,它在编译和运行时没有中断(标题属于另一个方案),但它导致自动完成中断(无法找到任何objective-c类)。
希望它会帮助别人!
答案 8 :(得分:0)
尝试了不同的方法之后:
只有这个有效:
归功于Max_B: https://forums.developer.apple.com/thread/7439
在我的情况下,其他项目正确自动完成。如果您的所有项目都无法正确预测代码,那么它可能是一个不同的问题,其他答案可能会有效。
答案 9 :(得分:-1)
我在尝试制作OS X应用程序时遇到了这个问题,我通过确保实际下载了Xcode 7.3文档和OS X 10.11.4文档来解决了这个问题。这样做完全恢复了我的自动完成功能。我的完整说明如下,以及我对类似问题的回答:https://stackoverflow.com/a/39420664/3444925
我自己也遇到过这个问题,在查看了所有其他类似的问题之后。对此有所回答,我无法找到解决方案。但是,我终于找到了对我有用的东西。
转到
Xcode -> Preferences -> Components
。在那里你可能会找到一个如下所示的屏幕:这表明文档尚未下载,因此,在不下载文档的情况下重新索引或重新构建应用程序的任何尝试都将阻止您使用自动完成功能。
一旦我下载了Xcode 7.3文档和OSX 10.11.4文档,这足以让我恢复自动完成功能(我试图构建一个OS X应用程序,所以随意下载尽可能多的文档与你相关)。
答案 10 :(得分:-1)
在我创建了几个新的类文件之前,我没有碰到这个。其他类工作正常,但自动完成不适用于新文件中的任何内容......
FIX(对我来说) - 我必须将这些文件添加到我的所有目标中,包括单元测试目标,即使我还没有使用它们。