Xcode 代码感知颜色/完成不工作

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


我已经为一个 iPhone OS 3.0项目工作了几个月(通过不同的安装/版本的 Xcode) ,它的代码感觉已经不再起作用了。例如,如果我做 NSString *myString,所有的代码将是黑色的(没有着色,没有选项 + 双击,没有代码完成)。代码感知只对我自己的类/方法/属性“有效”,但对任何 SDK 类都不起作用。如果我从头开始创建一个新项目,我确实可以完成所有这些工作。

在这个项目中,我已经尝试过更改“ BaseSDK for All Configuration”。我已经试过“重建代码感知索引”了。我已经试过“清除所有目标”了。

首选项中的文档已全部下载并正常工作。例如,如果我选择上面的 NSString并在文档中执行右键单击-> 查找文本,我将获得包含所有对该类的引用的窗口。

任何想法都会很受欢迎。

47981 次浏览

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

您也可以删除派生数据,但是除非您更新了项目格式,否则 bug 几乎会立即重现。(即使在更新了项目格式之后,也会发生 ,但我过去每天都要删除好几次派生数据,我想自从修复了项目之后,我只删除过一次。)

正如其他地方提到的,切换到 LLVM 可能会有所帮助。但是当我更新这个答案时(2012) ,无论如何你都应该使用 LLVM。

在添加什么 tewha 做我必须点击“重建代码感觉索引”按钮。在获取项目信息的“常规”选项卡的底部。

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

自从 XCode4之后,语法着色、自动完成、跳转到头文件等等对我来说都是完全失败的。我的符号导航器视图完全是空的。没有意识到我已经变得多么依赖自动完成,我的生产力已经下降了一个因素。奇怪的是,我的队友们看到了各种各样的功能缺失组合——只有我幸运地失去了一切。我使用的是最新一代 MBP。

在 Xcode 也有同样的问题。除了两个文件,其中一个都有密码感应。M 文件及其对应的。H 档案。尝试了所有方法——除了重新构建代码感知索引,因为我在任何地方都找不到按钮——没有一个奏效。最后我删除了相关的文件。我..。H 和 the。西布。创建了新文件,现在一切正常。

在 Xcode 4中,我也没有找到“重建代码感知”按钮,但是如果你进入 Window-> Organizer,选择 Project 选项卡,然后点击 Derived Data 文件夹旁边的“ Delete...”,它似乎有同样的效果。(我是从 http://blog.slidetorock.com/xcode-4-code-sense-autocompletion-problems那里得到这个提示的,这表明它是从 https://stackoverflow.com/questions/2138047/xcode-code-loses-syntax-coloring那里得到的——但是我在那里的任何答案中都没有看到这个提示。非常好奇。)

对我有效的方法是将编译器更改为“ LLVM Compiler 2.0”。

除了3或4之外,大多数文件的代码感都能正常工作。女士们先生们。H 档案。我尝试了以上所有的方法,唯一对我有效的就是 CT 的解决方案。我关闭了 xCode,将项目移动到另一个文件夹并重新打开。

我现在发现,如果我右键单击一个文件夹(或组)在项目导航,并选择’新建文件。.代码感知不起作用。

如果相反,我使用主菜单并选择“文件 > > 新建 > > 新建文件”代码感觉工作正常。

这个问题似乎有无数的原因和解决方案,我想我已经尝试了其中的大部分。对我来说(在 Xcode 4.1中)最终奏效的方法是:

  • 在项目导航器中删除对问题文件的引用
  • 将问题文件从 Finder 中的项目文件夹中移动
  • 返回到项目导航器中,右键单击并选择“添加文件到...”。
  • 找到我刚才移动的文件并将它们添加回项目中,确保“将项目复制到目标组的文件夹(如果需要)”被选中。

代码感应恢复。

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

我尝试过但失败了:

  • 删除组织者中的派生数据文件夹
  • 删除 Finder 中的派生数据文件夹
  • 从零开始创建一个全新的类(我不知道为什么这个不起作用。)
  • 更改语法着色语言
  • 在所有选项之间多次更改编译器
  • 指定特定的 Header 搜索路径

我喜欢其他可能的建议来结束这个问题,因为它真的很烦人!

在执行下列步骤之后,语法着色正在恢复:

  • 转到组织者 > 项目 > 删除派生数据从您的当前 项目
  • 清洁及建造
  • 关闭并退出 XCode,然后重新打开项目
  • 在项目重新索引之后,语法着色变得很好

附言。

  • LLVM Complier 3.0
  • 对于所有第三方库,我使用了-fno-obc-arcComplier 标志(例如:。 ASIHTTPRequest)
  • 我的项目是从 XCode 4.2创建的

我今天遇到的一件影响代码着色的事情是,我不小心添加了一个头(。H)目标-> 建造阶段-> 编译资料来源。一旦删除,代码颜色神奇地返回:)

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

File>Open Recent> Clear Menu

这修正了我的问题,似乎当我导入一个 github 项目,搞砸了我的代码感觉后,清除最近,然后重新打开项目一切工作正常。

我有个问题。M 文件,并且在尝试了上面的许多事情之后,发现 XCode 在某个时候删除了。M 分机。它仍然在项目导航器中被列为“ Myclass.m”,但是右键单击它并选择 Show in finder 显示这个文件只是被称为“ Myclass”(并且奇怪地被放在 en.lproj 子文件夹中!).

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

只要在终端运行,每次需要的时候

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

没问题,高亮显示和密码识别都交给我! 有时需要清洁来支持它的工作。

注意: 我看到它有删除快照和另一个 Xcode4“特性”。但是我们不使用它:)

我找到了避开这个窃听器的方法。每次修改导入到 prefix.pch 中的文件时,我都会看到 bug 出现。

尝试在导入列表的顶部导入您自己的文件,在 UIKit.h 和 Fonudation.h 之上,并在最后导入 NOT,就像每个人做的那样。

在我的 prefix.pch 文件中:

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

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

我也有这个问题。我之前关闭索引是为了加快 xcode 操作的速度,当时并没有意识到它会停止一些代码的高亮显示。如果你已经这样做了,你可以重新开启索引,在终端中输入:

defaults write com.apple.dt.XCode IDEIndexDisable 0

如果要关闭索引,请在终端中输入:

defaults write com.apple.dt.XCode IDEIndexDisable 1

在构建设置中搜索“ GCC _ INCREASE _ PRECOMPILED _ HEADER _ SHARING” - 然后改成“是”-这招对我很管用!

enter image description here

有时候,在代码中的@end 语句末尾添加多行注释会阻止 Xcode 6.0.1中的自动完成。我也有同样的问题。看看这个。.

为什么我又开心了:)

我遇到过这个问题,但是在我禁用 XCode 索引进程之前的某天。

通过把这个命令放在终端解决了这个问题。我希望它能帮到某些人。

defaults write com.apple.dt.XCode IDEIndexDisable 0

是的,我正在使用 Xcode 7.0

对我来说,只有一个。M 文件有这个问题。自动补全功能弹出来没问题,但不能显示所有内容。例如,当我键入“ NS”时,只有“ NSMutableDictionary”才会弹出自动补全,而且没有其他内容!我什么都试过了,到处都找了一个多小时,但是什么都没有修好。

然后出于好奇,我删除了之前粘贴在。M file (在@end 单词下面)。删除之后,自动补全功能再次正常工作!

罪魁祸首是: enter image description here

因此,如果您的自动完成只有一个文件失败,可能要检查这一点,并删除以下@end 单词的所有内容。

尝试关闭并打开 XCODE IDE。

对于有些人仍然不知道为什么。开与 XCode 8.2为我工作。似乎最新的 XCode 得到了这个问题