尝试:
经过长时间的搜索,我终于为我解决了这个问题。在Xcode>首选项>文本编辑中,在“代码完成”中,我出于某种原因检查了“使用转义键显示完成建议”。一旦我取消选中此框,自动完成就像一个魅力,甚至不需要重新启动Xcode! (Xcode 10)
这里有一些解决方法,但有效。
Project Navigator
一旦建成完成,建议将会回来。我试了两次。
对我来说,它发生在我的测试文件中,因为它出于某种原因不属于目标。设置目标成员资格解决了这个问题。
对我来说,当我丢弃一个文件的所有更改(在源代码管理>提交下)时,会出现问题,这有效地删除了文件。这就是我想要的,我认为该文件及其所有引用也将被删除。
但是,仍然存在对项目导航器中的文件(以红色显示)的引用。删除Project导航器中的(现在不存在的)文件会神奇地恢复自动完成。
没有任何清理,删除派生数据等有帮助。我只是意识到当我尝试构建我的项目时,删除的文件仍然显示,当然因为无法找到该文件而失败。
希望这会帮助别人节省30分钟:)
我在这里添加了我的项目中发生了什么,以防万一它可以帮助其他人...我有两个同名的文件,我没有意识到。
使用How can I delete derived data in Xcode 9?
或者Command + B
来构建或运行项目
Xcode有时会搞砸;)
Command + R
- >首选项 - >文本编辑可能是因为很多原因;一个可能的原因是内存问题,即系统内存不足时。
您可以使用macOS中的“活动监视器”检查内存使用情况。
尝试使用命令+ shift + k清理项目。
退出Xcode并再次启动它并构建它然后开始键入自动完成,它应该工作正常。
这个链接帮助了我。打开构建设置并填写框架搜索路径。见下图。
Suggest completions while typing
删除DERIVED DATA文件夹似乎解决了我的问题。感谢这篇文章:swift println() not showing autocomplete options while writting code
构建错误可能会破坏Xcode中的自动完成功能。
我的情况可能看起来过于具体而无法提供帮助,但它可能会让某人了解如何解决损坏的自动完成问题。 Xcode 10.2.1。
在我的情况下,自动完成停止了完全工作,而这些其他答案没有帮助我。此外,可以听到计算机上的风扇响亮,表明有些东西过度工作(没有其他应用程序运行),应该注意我在MacBook Pro笔记本电脑上进行编辑。它似乎与编辑努力解析我写的等式有关:
我希望根据用户首选项向左,右或中间设置文本视图的动画。 switch mtype {
case .indeterminate:
newPosition.x = (frame.width - mainFigureText.frame.width) / 2
case .right:
newPosition.x = (((frame.width / 2) - mainFigureText.frame.width) / 2) + (frame.width / 2)
case .left:
newPosition.x = (((frame.width / 2) - mainFigureText.frame.width) / 2)
}
是文本将动画的newPosition
。无论如何,我把方程式分开,突然自动完成开始工作,风扇安静了!通过重新键入上面的代码然后将其替换为:我已经能够不止一次地重新创建这个特定的问题:
CGPoint
自动完成不起作用的唯一时间是文件的源代码类型未设置为Objective-C或者您使用其他语言编写时(即使只有一小部分,例如C)。
如果您正在编辑的行上或上方存在语法错误,它也不起作用。方法调用结束时缺少大括号 - 即使它不在您正在编辑的文件中 - 将阻止自动完成获取建议相关命令的必要上下文。丢失的文件(在文件列表中以红色显示)也是如此,即使这不是您正在处理的文件。
当它这样做时,尝试构建以找到错误,然后修复它们。
要尝试的事情:
如果使用cocoapods,请在项目目录中运行此命令:
rm -rf ~/Library/Caches/CocoaPods;
rm -rf Pods; rm -rf ~/Library/Developer/Xcode/DerivedData/*;
pod deintegrate; pod setup; pod install;
清理缓存数据
清理项目 - > Cmd + Shift + K.
清理构建文件夹 - > Cmd + Shift + Option + K.
如果你跳过第一步:
删除派生数据
Xcode Preferences
- > Locations
- >
箭头符号带您到DerrivedData
- >删除文件夹
检查Build Phase的编译源。
项目中的每个.swift
和.m
文件都应该在此列表中,否则它们将不会在这些文件中自动完成。
优化您的编辑器:
在每个类属性和函数上使用fileprivate,可以减少每个项目的编译器工作范围。
编写模块化/ OOP代码,这样您就可以减少编译器读取的代码。
当结果是复杂计算时,避免使用类型推断,并尝试将复杂计算分解为qazxsw poi语句
从测试目标中删除文件解决了我的问题。
我正在使用Xcode 10.2,我遇到了同样的问题。
无论如何,我要描述一下:
YourProject.xcodeproj
Show Package Contents
并删除你的xcuserdata
如果您还有youruser.xcuserdatad
(如果您已安装任何pod),则执行步骤3和4,如果没有,则跳过步骤3和4:
xcworkspace
,转到YourProject.xcworkspace
Show Package Contents
并删除你的xcuserdata
rm -rf~ / Library / Developer / Xcode / DerivedData
youruser.xcuserdatad
请尝试这样做:
选择文件>>检查文件是否已添加到UITesting或UnitTesting目标(文件检查器 - >目标成员身份)。如果是,请取消选中这两个,并确保仅选择项目目标。然后构建并尝试自动完成工作正常。
这对我有用。希望它对某人有帮助。
刚刚失去了一天试图解决Xcode(9.2)的自动完成噩梦。删除派生数据似乎可以简单地工作,然后恢复原状。重启等以及其他建议的伏都教无法发挥作用。
我放弃并从Jet Brains下载了30天的AppCode试用版。自动完成在那里工作正常,这可能是巧合,但它然后开始在我的Xcode项目中再次工作。不能保证它会继续工作......
在我的情况下它似乎是文件特定的(Xcode 9.2)对我来说修复是:
最后,在尝试了所有内容后3小时 - 自动完成工作正常。