Xcode 8.3.3 C语言中的错误语法突出显示

时间:2017-08-08 18:32:34

标签: c++ xcode xcode8 syntax-highlighting

我注意到一些突出不一致的特殊语法。由于某些原因,classifelsewhilebreak关键字未着色。即使在更改颜色主题并重新启动Xcode之后,此问题仍然存在。我正在使用思域主题,这是Xcode中的默认主题之一。问题似乎是特定于语言的,因为这只发生在C ++中,而不是针对objective-c或Python。

enter image description here

1 个答案:

答案 0 :(得分:2)

我找到了一个远非理想的解决方案,从它的外观来看,它似乎是一个Xcode错误。

  1. 打开Preferences窗口
  2. 转到Locations标签
  3. 点击/Users/Library/Developer/Xcode/DerivedData
  4. 旁边的箭头
  5. 转到User Data
  6. 转到FontAndColorThemes
  7. 使用Xcode打开任何.xccolortheme文件

    <key>xcode.syntax.identifier.class</key>
    <string>0.115602 0.660894 0.635056 1</string>
    <key>xcode.syntax.identifier.class.system</key>
    <string>0.221291 0.537118 0.556094 1</string> # change this line
    
    <key>xcode.syntax.identifier.function</key>
    <string>0.115602 0.660894 0.635056 1</string>
    <key>xcode.syntax.identifier.function.system</key>
    <string>0.221291 0.537118 0.556094 1</string>
    
  8. xcode.syntax.identifier.class.system的颜色代码与xcode.syntax.identifier.function.system的颜色代码不相同,导致class关键字无法着色。因此解决方案是使它们相同。对所有其他关键字执行相同操作。

    由于我无法理解的原因,为单个颜色主题更改该行会自动修复所有颜色主题的此错误。另外,我还没弄清楚为什么这个bug是C ++特定于语言的。然而,解决方案可行。