Xcode 8.3.3 C++ 中的错误语法突出显示
Xcode 8.3.3 Bad Syntax Highlighting in C++
我注意到一些相当特殊的语法突出了不一致之处。 class
、if
、else
、while
和 break
关键字由于某种原因没有着色。即使在更改颜色主题并重新启动 Xcode 后,此问题仍然存在。我正在使用 Civic 主题,它是 Xcode 中的默认主题之一。该问题似乎是特定于语言的,因为这只发生在 C++ 中,而 objective-c 或 Python.
则不会。
我找到了一个远非理想的解决方案,从它的外观来看,它似乎是一个 Xcode 错误。
- 打开
Preferences
window
- 转到
Locations
选项卡
- 单击
/Users/Library/Developer/Xcode/DerivedData
旁边的箭头
- 转到
User Data
- 转到
FontAndColorThemes
用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>
xcode.syntax.identifier.class.system
的颜色代码与 xcode.syntax.identifier.function.system
的颜色代码不同,这导致 class
关键字未被着色。所以解决方案是让它们相同。对所有其他关键字执行相同的操作。
出于某种我无法理解的原因,为单一颜色主题更改该行会自动修复所有颜色主题的此错误。此外,我还没有弄清楚为什么这个错误是特定于 C++ 的语言。尽管如此,该解决方案仍然有效。
我注意到一些相当特殊的语法突出了不一致之处。 class
、if
、else
、while
和 break
关键字由于某种原因没有着色。即使在更改颜色主题并重新启动 Xcode 后,此问题仍然存在。我正在使用 Civic 主题,它是 Xcode 中的默认主题之一。该问题似乎是特定于语言的,因为这只发生在 C++ 中,而 objective-c 或 Python.
我找到了一个远非理想的解决方案,从它的外观来看,它似乎是一个 Xcode 错误。
- 打开
Preferences
window - 转到
Locations
选项卡 - 单击
/Users/Library/Developer/Xcode/DerivedData
旁边的箭头
- 转到
User Data
- 转到
FontAndColorThemes
用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>
xcode.syntax.identifier.class.system
的颜色代码与 xcode.syntax.identifier.function.system
的颜色代码不同,这导致 class
关键字未被着色。所以解决方案是让它们相同。对所有其他关键字执行相同的操作。
出于某种我无法理解的原因,为单一颜色主题更改该行会自动修复所有颜色主题的此错误。此外,我还没有弄清楚为什么这个错误是特定于 C++ 的语言。尽管如此,该解决方案仍然有效。