繁体   English   中英

Xcode 4代码感不起作用

[英]Xcode 4 code sense is not working

我在Xcode 4中运行一个“旧的”Xcode 3项目,代码感觉不适用于我自己的类。 我试过以下:

  • 清洁/重建
  • 删除派生数据
  • 安装4.3文档
  • 重新开始

没有运气。

有时代码意义有效但主要是我得到“没有完成”。

试试这个:

打开管理器然后打开项目选项卡

清除“派生数据”。 Xcode应该重新索引你的项目,代码意义应该工作。 至少为我工作。

我知道这已经晚了,但供参考: http//sealedabstract.com/code/when-xcode-4s-code-completion-autocomplete-breaks/

  • 关闭项目,让XCode仍然运行。

  • 打开XCode的“管理器”窗口,转到“项目”选项卡,选择正确的项目,然后单击“派生数据”旁边的“删除”按钮。

  • 退出XCode。

  • 在Finder中导航到项目的.xcodeproject文件。 右键单击,选择“显示包内容”。

  • 保留project.pbxproj文件,但删除project.xcworkspace文件,任何.pbxuser文件和整个userdata文件夹。

  • 在XCode中打开项目。 您将看到XCode在CPU使用率上高达10-60秒,具体取决于项目的大小。 活动窗口将显示“索引”

  • 当CPU峰值返回到地时,代码完成将再次起作用。

那里有很多删除,所以请小心,但这对我来说肯定有用。

我一直这样做,并且它对我来说多次工作(在完成上述所有操作之后)。

编辑:现在我只是命中空格,退格(mac版本)和重建...工作得很好。 然后,记得滚动(有时颜色不会显示,直到您滚动到某处)

  1. 找到您的前缀文件:“ProjectName_prefix.pch”。
  2. 注释出一些问题。 (基本上改变它)
  3. 构建您的项目,无论是否失败都无关紧要。
  4. 取消注释。
  5. 再建一次。

我只打赌第2步(修改前缀)就是这样,但这些基本上让你恢复运行。 突然间,一切都神奇地重新回归并完成了功能。

祝你好运,如果不解决它,也许尝试这样做你的依赖pch文件(three20或FB api)

清除“派生数据”仅适用于我。 我必须这样做,然后每天重启Xcode 3-4次,让代码感觉再次起作用。

我发现真正的原因是在Target的 Build Settings中。 我将所有内容从标题搜索路径移动用户标题搜索路径 ,并且已修复。 就我而言,我正在使用的框架是RestKit。

顺便说一句,我提出这个是因为我在我的项目中添加了另一个项目( QuickDialog ),我很好奇它正在使用用户头搜索路径 ,而不是头部搜索路径 这是他们之间的区别。

您可以通过更改构建设置来修复该问题,例如, PreCompile Prefix Headers:NO

仅供参考,如果一个文件没有代码感,但项目的其余部分没有,请检查它是否已添加到目标。 一旦我这样做,我就会在该文件中获得代码感。

这已经很久了,但答案只是将代码移动到一个新的文件夹中,代码意义应该现在正在运行。

当我添加一个新的Objective-C类并且代码检测不仅对新添加的.m和.h文件(在此帖子中的XCode 4最新更新)上有效时,就会发生这种情况。

关闭所有xcode窗口

从xcode> window> organizer中删除所有项目,然后重新启动项目。 它现在将正确地感知和索引您的项目。

我在这里详细介绍了它。

基本上我的修复就是本地化。 我从xcode 3.2.5升级到xcode 4,然后使用内置的界面构建器搞砸了,并且意外地打开了一个XIB文件的本地化,这将我的源文件放在en.lproj目录中。 将它们移回Classes文件夹后,它完美运行。

每当我的Xcode的代码检测停止工作时,我会在后台打开第二个项目(它通常在我第一次打开项目时工作,但在一段时间后代码检测不再有效)。 所以我要做的是在Xcode中打开第二个项目。 Xcode将开始为第二个项目编制索引,并且神奇地为我的主项目提供代码意义。

在Lion上运行Xcode 4.3.1

希望这有助于某人。

这个评论这里我能够调试我的问题,它似乎是一个坏的-w标志,clang预处理器无法正确识别。 基本上,跑步

defaults write com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3

在终端中增加了索引器的详细程度,并应该帮助您追踪问题。 打开Console.app并查找来自Xcode的消息,搜索字符串IDEIndexingClangInvocation帮助我找到它们。

对我来说,这只是因为该文件没有目标成员资格。 如果前几个答案对你不起作用,请转到你的.m文件(可能是你遇到问题的这个文件),打开Utilities视图(编辑 - >实用程序 - >显示文件检查器)和“目标”下成员资格“检查您希望此文件所属的目标。

同样,为了帮助其他人解决这个问题,在我的情况下,在升级到Xcode 4.3时发生了这个问题。

当然,我尝试了这篇文章中提供的解决方案,但没有一个能够奏效。 但是在Finder中移动项目位置的建议带回了一些Code Sense,但这些建议没有任何意义。

我最终删除了我的项目,并从git存储库中重新克隆了它 。这对我来说代码感觉...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM