XCode 语法着色损坏

Posted

技术标签:

【中文标题】XCode 语法着色损坏【英文标题】:XCode Syntax Coloring Broken 【发布时间】:2010-06-08 05:26:48 【问题描述】:

XCode 似乎经常失去理智,并且不给系统类着色或提供正确的“代码感”建议。这令人沮丧不已。这个问题至少在其他三个场合被问过:

Problems with Xcode Syntax Highlighting

xcode code sense color/completion not working

Xcode: code loses syntax coloring

我已按项目版本切换到/从 3.1 兼容和 3.2 兼容,每次更改前后都完全重新启动 XCode,但没有任何效果。

我已经重建了代码感知索引并完全重新启动了 XCode,没有任何变化。

我已经构建了我的项目以确保没有错误并重新启动。

我已将我的文件(无 .svn 文件)复制到不同的位置 - 同样的问题。

我已经完全禁用了“占位符”参数,因为当我输入得太快时它们会搞砸我的文档……我所要求的只是“esc”键显示正确的属性和方法列表.

【问题讨论】:

【参考方案1】:

您应该清理项目的派生数据。它们很可能已损坏。

转到管理器 > 项目 > Your_Project > 派生数据 > 删除

Xcode 将重新索引您的项目,您应该会恢复正常。

【讨论】:

感谢您的意见,但两年前我已经回答了自己的问题。这是预编译器指令中的代码问题。 当然,我看到了。我只是为可能遇到与您相同问题但原因不同的人提供另一个指示(这是我的情况)。【参考方案2】:

对于任何有兴趣的人;我的应用有一些预编译指令:

#if ...

原来在这些部分之一中存在错误。

我假设我的应用程序构建良好,因为这些部分在进入编译器之前就被剥离了......但 CodeSense 并不关心这些(它仍然想对这些里面的所有内容进行颜色编码) - 所以 CodeSense 会由于该错误,我到处呕吐,即使我在尝试构建应用程序时没有找到它。

一旦我修复了该代码块中的错误,我的颜色就会返回。

如果 XCode 只是将这些部分显示为灰色而不是死掉就好了。

【讨论】:

PS.) 我向 Apple 发布了错误报告并收到以下回复:您好 Steven,这是对错误 ID# 8069971 的后续处理。经过进一步调查,已确定这是已知的问题,目前正在由工程部门调查。此问题已在原始错误 ID#4824854 下归档在我们的错误数据库中。用于跟踪此重复问题的原始错误编号可以在状态列中找到,格式为:Duplicate/OrigBug#。 我想我找到了解决方法。在这里查看我的答案:***.com/questions/2138047/… 经过一个月的努力解决这个问题,在线上的修复都没有真正起作用,我终于在我的项目中以与您相同的方式修复了这个问题,修复了错误完成的#ifdef。我以前从未注意到该错误,GCC 也没有将其标记为警告。今天刚切换到 LLVM,它确实标记了一个警告,我一修复它,删除了派生的项目数据,并重新索引它现在工作得很好! @einsteinx2 - 我知道,这很糟糕,不是吗!? 现在我已经完成了高亮显示和代码,我简直欣喜若狂。几个月没有它,真是太棒了。我做到了,但一切都更耗时,而且我的大脑更难解析代码。现在太开心了!! :)

以上是关于XCode 语法着色损坏的主要内容,如果未能解决你的问题,请参考以下文章

顶点着色器属性位置中的数据损坏

为啥 Xcode 不能识别这些着色器?

Xcode 7 / iOS 9:在 SKNode 中使用 OpenGL 片段着色器未编译

Xcode Playground 因非 Swift 代码而崩溃

将 PBR 模型导入 Xcode 会导致不正确的着色器属性

更少的 Markdown 语法着色(寻呼机)