Xcode 9.3.x多标签打开文件时语法高亮失效问题求助
Xcode 9.3.x 多标签模式下语法高亮丢失的Bug分析与复现
Hey folks, 针对这个Xcode语法高亮的问题,我结合自己的测试和提问者的详细排查,整理出完整的问题细节和复现方式:
核心问题
从Xcode 9.3.0开始,只要同一文件在多个标签页同时打开,编译后自定义类等元素的语法高亮就会失效(比如Dusk主题下原本的绿色高亮消失)。这对调试工作影响很大——比如设置了断点触发时自动打开Debug标签,此时恰恰需要语法高亮来快速定位代码,结果功能直接罢工。
已验证无效的修复手段
我和提问者都试了各种常规修复方法,可惜都没解决:
- 删除Derived Data文件夹
- 多次重启Xcode甚至电脑
- 把
$(SRCROOT)添加到Header Search Paths - 清理项目、清空构建文件夹
- 用全新的极简项目测试(只有几个基础类),问题依然出现
- 在全新用户账户下安装纯净的Xcode 9.3.1,还是逃不过这个Bug
划重点:Xcode 9.2.0完全没有这个问题,而且已经在多台设备上复现了该Bug。
精准复现步骤
要触发这个Bug很简单,按下面的步骤来:
- 把Xcode升级到9.3.0或者9.3.1版本
- 打开任意iOS项目(或者新建一个空白项目)
- 打开项目里的ViewController.swift文件
- 第一次编译,此时语法高亮显示完全正常
- 新建一个标签页,让ViewController.swift在两个标签页同时打开
- 再次执行编译,你会发现自定义类等元素的语法高亮直接消失了
问题直观展示
- 正常状态:

- 失效状态:

- 完整演示:多标签语法高亮失效演示视频
内容的提问来源于stack exchange,提问作者Jared
相关产品推荐
相关产品推荐

