xcode代码感觉颜色/完成不工作

编辑:这是奇怪的…如果我在欢迎屏幕中双击项目的最近项目项目,代码感和着色工作得很好,但如果我只是点击Open (在欢迎屏幕右下angular)它不。 从File > Recent projects打开File > Recent projects不起作用,也没有双击Finder中的.xcodeproj文件。


我已经在几个月的时间里(通过不同的安装/版本的XCode)一直在努力的iPhone OS 3.0项目的代码感觉不再工作。 例如,如果我做NSString *myString ,所有的代码将是黑色的(没有着色,没有选项+双击,没有代码完成)。 Code Sense只对我自己的类/方法/属性“起作用”,对于任何SDK类都不起作用。 如果我从头开始创build一个新的项目,我确实有这些工作。

我已经尝试在这个项目中更改“所有configuration的基础SDK”。 我已经尝试了“重build代码感索引”。 我已经尝试过“清理所有目标”。

“首选项”中的文档全部下载并运行。 例如,如果我select上面的NSString ,然后右键单击 – >在文档中查找文本,我会得到所有对该类的引用的窗口。

任何想法将不胜感激。

获取关于Xcode项目的信息,并更改项目格式以匹配您使用的Xcode版本(截至撰写本文时为止,“与Xcode 3.2兼容”)。

你也可以删除派生的数据,但是除非你已经更新了你的项目格式,否则这个bug几乎会立即发生。 (甚至在更新项目格式之后可能会发生这种情况,但是我曾经不得不每天删除DerivedData几次,而且我认为从修复项目开始只做了一次。)

如别处所述,切换到LLVM可能会有所帮助。 但是,当我更新这个答案(2012年),你应该使用LLVM无论如何。

在Xcode 4中,我还没有find“Rebuild Code Sense”button,但是如果你转到Window – > Organizer,selectProject选项卡,然后点击Derived Data文件夹旁边的“Delete …” ,似乎也有同样的效果。 (我从http://blog.slidetorock.com/xcode-4-code-sense-autocompletion-problems得到了这个提示,这表明它从https://stackoverflow.com/questions/2138047/xcode – 代码丢失 – 语法着色 – 但我没有看到它的任何答案,非常好奇)。

每次需要时在terminal上运行

 rm -fR ~/Library/Developer/Xcode/DerivedData 

工作正常。 突出显示和codesense回给我! 有时需要使清洁回到工作。

注意:因为我看到它是删除snapshost和另一个Xcode4“function”。 但我们不使用它:)

语法着色工作后我做了以下步骤:

  • 转到pipe理器>项目>从当前项目中删除派生数据
  • 清洁和build设
  • closures并退出XCode,然后重新打开该项目
  • 项目重新索引后,语法着色变得很好

PS

  • LLVM Complier 3.0
  • 我为所有第三方库(例如ASIHTTPRequest)使用了-fno-objc-arc编译器标志,
  • 我的项目是从XCode 4.2创build的

我在Xcode 4中遇到了同样的问题,并通过将编译器从GCC 4.2更改为LLVM GCC 4.2来解决此问题。

我find了一种方法来避免这个错误。 我看到每次我修改prefix.pch中导入的文件时,都会出现该错误。

尝试导入自己的文件在UIKit.h和Fonudation.h上面的导入列表的顶部,而不是像大家一样在最后。

在我的prefix.pch文件中:

 #ifdef __OBJC__ #import "myFile.h" #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #endif 

我也有这个问题。 我以前closures索引来加速xcode的操作,并没有意识到,当时它会停止一些代码突出显示。 如果你已经这样做了,你可以通过在terminal中input这个命令来重新开始索引:

 defaults write com.apple.dt.XCode IDEIndexDisable 0 

如果你想closures索引input到terminal:

 defaults write com.apple.dt.XCode IDEIndexDisable 1 

在Xcode 4.0.2中有相同的问题。 代码感是在除了两个文件之外,一个.m文件和它相应的.h文件。 试了一切 – 除了重build代码感索引,因为我无法find任何地方的button – 没有任何工作。 最后,我删除了相关文件,.m,.h和.xib。 创build新的文件,现在everthing正常工作。

这个问题似乎有无数的原因和解决scheme,我想我已经尝试了其中的大部分。 最后为我工作的(在Xcode 4.1中)是:

  • 删除对项目导航器中问题文件的引用
  • 从Finder中的项目文件夹移动问题文件
  • 回到项目导航器,右键单击并select添加文件…
  • find我刚刚移动的文件,并将其添加回项目中,确保选中“将项目复制到目标组文件夹(如果需要)”。

代码Sense恢复。

为了更具体,我确切的问题是,当我通过在项目导航器中右键单击创build一个新类时,约30-40%的时间代码感不起作用在新类的头文件中。 有趣的是,它在实施中起作用。

我试过的东西失败了:

  • 删除Organizer中的派生数据文件夹
  • 删除Finder中派生的数据文件夹
  • 从头开始创build一个全新的课程(为什么这不起作用,我不知道。)
  • 更改语法着色语言
  • 更改所有选项的编译器多次
  • 指定一个特定的头部searchpath

我想其他可能的build议,结束这个问题,因为它真的很烦人!

除了我不得不点击“重build代码检测索引”button。 它位于项目的“获取信息”的“常规”选项卡的底部。

如果您注意到这只发生在您的某些文件上,请确保.m文件是您的目标的成员。

自XCode4以来,语法着色,自动完成,跳转到头文件等都完全被破坏了。 我的符号导航器视图是完全空的。 没有意识到自动完成的依赖程度,我的生产力下降了一个因素。 奇怪的是,我的队友们正在看到各种function缺失的组合 – 只有我有幸失去了一切。 FWIW我是最新的MBP。

我只有一个.m文件有这个问题,在尝试了很多上面的事情之后,XCode在某些时候删除了.m扩展名。 它仍然在项目导航器中列为“Myclass.m”,但右键单击它并select在查找器中显示该文件被称为“Myclass”(奇怪地放置在en.lproj子文件夹!)。

从项目导航器中删除引用,重命名并移动文件并重新添加到项目中解决了我的问题。

在构build设置中search“GCC_INCREASE_PRECOMPILED_HEADER_SHARING”并将其更改为YES。 – 这对我有用!

在这里输入图像描述

我的工作是将编译器更改为“LLVM编译器2.0”。

除了3个或4个.m / .h文件之外,代码感对大多数文件都有效。 我尝试了以上所有的东西,唯一对我有用的是drct的解决scheme。 我closures了xCode,将项目移动到不同的文件夹并重新打开。

我现在发现,如果我右键单击项目导航器中的文件夹(或组),然后select“新build文件..”Code Sense不起作用。

如果相反,我使用主菜单,并select“文件>>新build>>新build文件'代码感觉正常工作。

有一件事我今天遇到的,影响代码着色的是我不小心添加了一个头(.h)文件在目标 – >构build阶段 – >编译源。 一旦删除,代码颜色神奇地回来:)

我有完全相同的问题,但以上都没有为我工作,最后我不得不打开xcode去

 File>Open Recent> Clear Menu 

这解决了这个问题似乎,当我导入了一个github项目,搞砸了我的代码意义清理后,然后重新开放项目一切工作正常。

有时在代码中的@end语句末尾添加多行注释可以防止在Xcode 6.0.1中自动完成。 我遇到过同样的问题。 只是检查出来..

为什么我再次开心:)

我有这个问题,但有些日子之前,我禁用XCode索引过程。

把这个命令放在terminal解决了。 我希望它能帮助别人。

 defaults write com.apple.dt.XCode IDEIndexDisable 0 

是的,我正在使用Xcode 7.0

在我的情况下,只有一个.m文件有这个问题。 自动完成popup正常,但它不显示一切。 例如,当我input“NS”时,自动完成只会popup“NSMutableDictionary”,没有其他的东西! 我尝试了一切,到处search了1个小时+,但没有任何修复。

然后,出于好奇,我删除了一个注释块,我之前粘贴在.m文件(在@end字下面)的末尾。 删除之后,自动完成function再次正常工作!

这是罪魁祸首: 在这里输入图像描述

因此,如果您的自动完成function仅在一个文件上失败,可能需要检查并删除@end word下面的所有内容。

尝试closures并打开XCODE IDE。

对于有人仍然不知道为什么。 用XCode 8.2打开为我工作。 看来最新的XCode得到了这个问题