答案 0 :(得分:73)
尝试:
答案 1 :(得分:40)
删除DERIVED DATA文件夹似乎解决了我的问题。感谢这篇文章:swift println() not showing autocomplete options while writting code
答案 2 :(得分:19)
要尝试的事情:
如果您使用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 +选项+ K
如果你跳过第一步:
删除派生数据
Xcode Preferences
- > Locations
- >
箭头符号带您到DerrivedData
- >删除文件夹
检查构建阶段的编译源。
项目中的每个.swift
和.m
文件都应该在此列表中,或者不会在这些文件中自动填充。
优化您的编辑:
对每个类属性和函数使用fileprivate,以减少每个项目编译器的工作范围。
编写模块/ OOP代码,这样您就可以减少编译器读取的代码。
当结果是复杂计算时,避免使用Type Inferance,并尝试将复杂计算分解为let this = smallerOperation
语句
答案 3 :(得分:12)
当文件不是Target的成员时,可能会发生这种情况。打开自动填充功能不起作用的文件,并显示" Utilities" Xcode右上角的标签(下面的屏幕截图中为蓝色)。
确保您的目标(通常是您的应用的名称)已经过检查。自动完成功能几乎可以立即生效,无需重新启动Xcode,清除或删除派生数据。
答案 4 :(得分:7)
Xcode版本11.0(11A420a)
我已经尝试过Lal Krishna中针对Xcode V11.0的解决方案。它工作了几次,但后来我没有结果。
我找到了一个解决方案。您必须删除两个文件:
该解决方案现在对我有帮助。可能对其他人有用
答案 5 :(得分:5)
我正在使用 Xcode 10.2 ,并且遇到了相同的问题。
axel 中的This answer帮助我修复了问题。
无论如何,我将描述更多:
YourProject.xcodeproj
,然后打开Show Package Contents
xcuserdata
并删除您的youruser.xcuserdatad
如果您还安装了xcworkspace
(如果已经安装了 pod ),请执行步骤3&4,否则请跳过步骤3&4:
YourProject.xcworkspace
,然后打开Show Package Contents
转到xcuserdata
并删除您的youruser.xcuserdatad
退出Xcode
rm -rf〜/ Library / Developer / Xcode / DerivedData
答案 6 :(得分:5)
从测试目标中删除文件解决了我的问题。
答案 7 :(得分:4)
请尝试这样做:
选择文件>>检查文件是否已添加到UITesting或UnitTesting目标(文件检查器 - >目标成员资格)。如果是,请取消选中这两个,并确保仅选择项目目标。然后构建并尝试自动完成工作正常。
这对我有用。希望它对某人有所帮助。
答案 8 :(得分:3)
如果您重复命名文件,也会发生这种情况。例如,
Data.swift
Data.swift
答案 9 :(得分:2)
答案 10 :(得分:2)
只是失去了一天试图解决Xcode(9.2)的自动完成噩梦。删除派生数据似乎可以简单地工作,然后恢复原状。重启等以及其他建议的伏都教无法发挥作用。
我放弃并从Jet Brains下载了30天的AppCode试用版。自动完成在那里工作正常,这可能是巧合,但它然后开始在我的Xcode项目中再次工作。不能保证它会继续工作......
答案 11 :(得分:2)
主要是因为项目导航器中某些文件的位置丢失(生成错误)
Project Navigator
窗格或者您可以:
希望这会有所帮助
答案 12 :(得分:2)
经过长时间的搜索,我终于为我解决了这个问题。在Xcode>首选项>文本编辑中的“代码完成”中,出于某种原因,我选择了“使用Escape键显示完成建议”。取消选中此框后,自动完成功能就像一个超级按钮,甚至不需要重新启动Xcode! (Xcode 10)
答案 13 :(得分:2)
这里有一些解决方法,但是可以。
清理项目... Command + Shift + K
清理构建文件夹... Command + Shift + Options(Alt)+ K
删除项目的派生数据... 可以通过以下链接完成此操作:
关闭XCode。
一旦构建完成,建议将返回。我已经试过两次了。
答案 14 :(得分:1)
可能是因为很多原因;一个可能的原因是内存问题,即系统内存不足时。
您可以使用"活动监视器"来检查您的内存使用情况。在macOS中。
尝试使用命令 + shift + k 清理项目。
退出Xcode并再次启动它并构建一次,然后开始输入自动完成功能,它应该可以正常工作。
答案 15 :(得分:1)
转到目录下,然后删除目录上的所有文件夹。
{Your User}/Library/Developer/Xcode/DeriveData
对我有用。
答案 16 :(得分:1)
我想再增加一堆解决方案,因为它是唯一对我有用的解决方案,在这里找不到。
Xcode通常为每个项目提供两个默认的构建配置。 Release
和Debug
。我的单元测试中还有一个名为Testing
的单元测试。在Xcode 10.1、10.2、10.3和11 beta中,新的构建系统似乎并不喜欢它,并且仅当您使用Release
或Debug
时才会自动完成。任何自定义构建配置都会破坏带有单元测试的混合(swift + objc)项目中的自动完成。
答案 17 :(得分:1)
我在 Xcode 11.3.1 中遇到了同样的问题。在我的情况下,问题是由于重复的文件名/已删除的文件名造成的。最好运行一次应用程序并检查是否有任何已删除的文件/类,以便您得到语法错误。
答案 18 :(得分:1)
我在这里添加了项目中正在发生的事情,以防它可以帮助其他人... 我有2个同名文件,但我没有意识到。
答案 19 :(得分:1)
对我来说,它发生在我的测试文件中,因为它出于某种原因不属于目标。设置它的目标成员资格解决了这个问题。
答案 20 :(得分:1)
对我来说,当我放弃一个文件的所有更改(在“源代码管理”>“提交”下)时,就会发生问题,从而有效地删除了该文件。这就是我想要的,我认为该文件及其所有引用也将被删除。
但是,“项目”导航器中仍然有对该文件的引用(以红色显示)。在Project导航器中删除(现在不存在)文件神奇地恢复了自动完成功能。
没有任何帮助进行清理,删除派生数据等。我只是意识到当我尝试构建项目时,删除的文件仍在显示,当然失败了,因为找不到该文件。
希望这可以帮助某人节省30分钟:)
答案 21 :(得分:1)
在我看来,该文件特定于文件(Xcode 9.2),对我来说,解决方法是:
最后,经过3个小时的尝试-自动填充会按预期运行。
答案 22 :(得分:1)
int number = 0;
do
{
number = reader.nextInt();
if (number>0)
{
sum+=number;
list++;
}
else if (number<0)
{
System.out.println("ERROR type in a postive integer");
}
}while (number!=0);
reader.close();
答案 23 :(得分:0)
构建错误可能会破坏Xcode中的自动完成功能。
答案 24 :(得分:0)
答案 25 :(得分:0)
使用Xcode 11.1,仅执行Clean Build Folder
或删除派生数据不足以修复自动完成功能。
仅重启我的Mac 之后,一切恢复正常
答案 26 :(得分:0)
如果您对奇怪的完成/自动完成/智能化有疑问(不显示诸如委托和数据源协议方法之类的默认内容),只需更改目标(例如,从模拟器iPhone 8到真实设备),构建项目并切换回您原来的目标。
与Interface Builder(故事板)的问题类似,该问题不会显示任何内容,但是只要您选择视图的任何部分,都只会“未选择任何内容”。只需切换到其他Xib / Storyboard(甚至创建新的),检查它是否在那里工作,然后再切换回去即可。
这些变通办法对我都有效(在Xcode 10.2.1上的一个项目中一天都遇到了这两个问题)。从我在互联网论坛上看到的所有内容来看,这些似乎是自Xcode 6.x以来从未修复的错误。
干杯!
答案 27 :(得分:0)
我遇到的问题是100%无法自动完成,此处没有任何帮助。我注意到的一件事–在向.xcdatamodel文件中添加了一些实体(默认情况下具有代码生成类定义)后,它就被打破了。
因此,即使不重新启动xcode,使用老式代码生成器(即使生成类)也无法立即解决该问题,对此我并不感到惊讶。
答案 28 :(得分:0)
在我的情况下(Xcode 11.1),发生在我使用此命令defaults write com.apple.dt.Xcode IDEIndexDisable -bool true
停止Xcode auto-indexing时。
所以我用defaults write com.apple.dt.Xcode IDEIndexDisable -bool false
回滚了。
然后重新启动macOS并再次运行Xcode。
答案 29 :(得分:0)
这对我有用:
将所有项目文件的备份保存在某处。
删除项目。
创建一个新项目并添加所有文件。
它可以自动运行。
答案 30 :(得分:0)
Xcode 11.3,macOS catalina
进程parsecd达到100%的cpu,所以杀死它可以帮助我
答案 31 :(得分:0)
Xcode 11.3遇到相同的问题。上面没有任何帮助,事实证明我有构建错误。只需解决构建错误,自动补全功能将再次起作用。
答案 32 :(得分:0)
我的案子似乎太过具体而无法提供帮助,但它可能使某人对如何解决自动补全功能产生了想法。 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
。无论如何,我分解了方程式,突然自动完成工作,风扇安静了!通过重新键入上述代码,然后将其替换为:
let halfFrameWidth: CGFloat = frame.width / 2
let middleLeft = (halfFrameWidth - mainFigureText.frame.width) / 2
switch doseType {
case .right:
newPosition.x = middleLeft + halfFrameWidth
case .left:
newPosition.x = middleLeft
default:
newPosition.x = (frame.width - mainFigureText.frame.width) / 2
}
答案 33 :(得分:0)
使用 swiftUI 尝试提取您的子视图,否则自动完成将不起作用。
如果你有很多未提取的子视图,自动完成将停止工作
答案 34 :(得分:0)
在右侧的“文件检查器”中,尝试切换“目标成员资格”。如果您要创建多平台项目,请尝试切换 (macOS)。
自动完成应立即工作,无需重新启动。
答案 35 :(得分:-1)
只有当文件的源代码类型未设置为Objective-C或使用另一种语言编写时,自动完成功能才起作用(即使只有一小段C语言) )。
如果您正在编辑的行上或上方存在语法错误,则此操作也将不起作用。方法调用末尾缺少花括号(即使它不在您正在编辑的文件中)也将阻止自动完成功能获取必要的上下文以建议相关命令。即使文件不是您正在处理的文件,丢失的文件也将丢失(文件列表中以红色显示)。
这样做时,尝试构建以查找错误,然后修复错误。