编辑:这很奇怪......如果我在欢迎屏幕中双击项目的Recent Projects项目,代码感和着色效果很好但是如果我只是点击{{1 (在欢迎屏幕右下角)它没有。从Open
开始也不起作用,也不会双击Finder中的File > Recent projects
文件。
我已经工作了几个月(通过不同安装/版本的XCode)的iPhone OS 3.0项目的代码意义不再适用。例如,如果我执行.xcodeproj
,则所有代码都将为黑色(无着色,无选项+双击,无代码完成)。 Code Sense仅适用于我自己的类/方法/属性,但不适用于任何SDK类。如果我从头开始创建一个新项目,我确实可以完成所有这些工作。
我已经尝试在此项目中更改“所有配置的基本SDK”。我已经尝试过“重建代码感知索引”。我已经尝试过“清理所有目标”。
首选项中的文档已全部下载并正常运行。例如,如果我选择上面的NSString *myString
并执行右键单击 - >在文档中查找文本,我得到窗口,其中包含对该类的所有引用。
任何想法都将不胜感激。
答案 0 :(得分:204)
在Xcode 4中,我也找不到“Rebuild Code Sense”按钮,但如果你去Window - >管理器,选择项目选项卡,然后单击派生数据文件夹旁边的“删除...”,它似乎具有相同的效果。 (我从http://blog.slidetorock.com/xcode-4-code-sense-autocompletion-problems获得了这个提示,这表明它是从https://stackoverflow.com/questions/2138047/xcode-code-loses-syntax-coloring依次得到的 - 但我在那里的任何答案中都没有看到它。非常好奇。)
答案 1 :(得分:36)
执行以下步骤后,语法着色正在恢复:
P.S。
答案 2 :(得分:35)
每次需要时都在终端运行
rm -fR ~/Library/Developer/Xcode/DerivedData
工作正常。突出显示和codesense回到我的身边! 有时需要Make Clean来支持它的工作。
注意:我看到它删除了snapshost和另一个Xcode4'功能'。但是我们不使用它:)
答案 3 :(得分:12)
我在Xcode 4中遇到了同样的问题,并通过将编译器从GCC 4.2更改为LLVM GCC 4.2来解决它。
答案 4 :(得分:10)
我找到了避免这个bug的方法。我已经看到每次修改在prefix.pch中导入的文件时都会出现错误。
尝试在UIKit.h和Fonudation.h上方的导入列表顶部导入您自己的文件,而不是像每个人那样在最后导入。
在我的prefix.pch文件中:
#ifdef __OBJC__
#import "myFile.h"
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
答案 5 :(得分:10)
获取Xcode中项目的信息并更改项目格式以匹配您正在使用的Xcode版本(截至本文撰写时,“Xcode 3.2兼容”)。
您也可以删除派生数据,但除非您更新了项目格式,否则错误几乎会立即重现。 (即使在更新项目格式之后也可能发生,但我以前每天必须多次删除DerivedData,而且我认为自修复项目以来我只做了一次。)
如其他地方所述,切换到LLVM可能会有所帮助。但是当我更新这个答案(2012)时,你应该使用LLVM。
答案 6 :(得分:4)
我也有这个问题。我之前关闭了索引以加快xcode操作,并且当时没有意识到它会阻止一些代码突出显示。如果您已完成此操作,则可以通过在终端输入此内容来重新打开索引:
defaults write com.apple.dt.XCode IDEIndexDisable 0
如果你想关闭索引,请将其输入终端:
defaults write com.apple.dt.XCode IDEIndexDisable 1
答案 7 :(得分:4)
这个问题似乎有无数的提议原因和解决方案,我想我已经尝试了大部分问题。最终对我有用的(在Xcode 4.1中)是:
恢复了代码感知。
更具体一点,我的确切问题是当我通过右键单击项目导航器创建一个新类时,大约30-40%的时间代码检测在新类的头文件中不起作用。有趣的是,它确实在实施中起作用。
我尝试过的失败的事情:
我喜欢其他可能的建议来结束这个问题因为它真的很烦人!
答案 8 :(得分:3)
在Xcode 4.0.2中遇到了同样的问题。除了两个文件,一个.m文件及其相应的.h文件之外,代码检测工作正常。尝试了一切 - 除了重建代码感应索引,因为我无法在任何地方找到按钮 - 没有任何效果。最后我删除了相关文件,.m,.h和.xib。创建了新文件,现在正在按预期工作。
答案 9 :(得分:2)
除了tewha之外我还要点击“Rebuild Code Sense Index”按钮。它位于项目“获取信息”中“常规”选项卡的底部。
答案 10 :(得分:2)
如果您发现这只发生在您的某些文件上,请确保.m文件是您的目标成员。
答案 11 :(得分:1)
我在我的一个.m文件中遇到了这个问题,在尝试了很多上面的事情后,结果证明XCode在某些时候删除了.m扩展名。它仍然在项目导航器中列为'Myclass.m',但右键单击它并选择Show in Finder显示该文件刚刚被称为'Myclass'(并且奇怪地放在en.lproj子文件夹中!)。
从项目导航器中删除引用,重命名和移动文件并将其重新添加到项目中解决了我的问题。
答案 12 :(得分:1)
自XCode4以来,语法着色,自动完成,跳转到头文件等完全被我破坏了。我的符号导航器视图完全为空。如果没有意识到我对自动完成的依赖程度如何,那么我的生产力就会下降一个因素。奇怪的是,我的队友们正在看到各种缺失功能的组合 - 只有我很幸运能够失去一切。 FWIW我是最新一代的MBP。
答案 13 :(得分:1)
在构建设置中搜索“GCC_INCREASE_PRECOMPILED_HEADER_SHARING” 并将其更改为YES。 - 这对我有用!
答案 14 :(得分:0)
为什么我再次开心:)
我遇到了这个问题,但有一天我禁用了XCode索引过程。
将此命令放在终端中解决了这个问题。我希望它有所帮助。
defaults write com.apple.dt.XCode IDEIndexDisable 0
是的,我正在使用Xcode 7.0
答案 15 :(得分:0)
在我的情况下,只有一个.m文件存在此问题。弹出的自动填充功能很好,但它并没有显示所有内容。例如,当我键入&#34; NS&#34;然后自动完成弹出仅与&#34; NSMutableDictionary&#34;只有而且没有其他的东西!我尝试了一切,到处搜索了1个小时+但没有任何修复。
然后出于好奇,我删除了我之前粘贴在.m文件末尾的注释块(在@end字下面)。删除后,自动完成将正常工作!
因此,如果您的自动填充仅在一个文件上失败,可能需要检查并删除@end字下面的所有内容。
答案 16 :(得分:0)
尝试关闭并打开XCODE IDE。
答案 17 :(得分:0)
我有完全相同的问题,但上面没有一个对我有用,最后我不得不打开xcode去
File>Open Recent> Clear Menu
这解决了我的问题,似乎当我导入一个github项目,在清除了最新版本之后搞砸了我的代码意义,然后重新打开项目一切正常。
答案 18 :(得分:0)
有时在代码中的@end语句末尾添加多行注释会阻止Xcode 6.0.1中的自动完成。我遇到过同样的问题。看看吧..
答案 19 :(得分:0)
我今天遇到的一件事,影响代码着色的是我在Target中意外添加了一个标题(.h)文件 - &gt;构建阶段 - &gt;编译源代码。一旦删除,代码颜色神奇地回来了:)
答案 20 :(得分:0)
代码检测适用于大多数文件,但3或4 .m / .h文件除外。我尝试了以上所有内容,唯一对我有用的是drct的解决方案。我关闭了xCode,将项目移动到另一个文件夹并重新打开。
我现在发现,如果我右键单击Project Navigator中的文件夹(或组)并选择“New File ..”Code Sense不起作用。
如果相反,我使用主菜单并选择'文件&gt;&gt;新&gt;&gt;新文件的代码检测工作正常。
答案 21 :(得分:0)
对我来说有用的是将编译器更改为“LLVM Compiler 2.0”。
答案 22 :(得分:-1)
对于仍然不知道原因的人。打开 XCode 8.2 为我工作。似乎最新的XCode得到了这个问题