Xcode 在多个选项卡中打开文件时语法高亮丢失

Xcode loses syntax highlighting when file is open in multiple tabs

自 Xcode 9.3.0 以来,我遇到了语法 highlighting/coloring 的问题。我经常在多个选项卡中工作。有时我在多个选项卡中打开同一个文件以引用文件的不同部分,或者如果我将一个文件与调试器一起使用,另一个文件作为参考。

从 9.3.0 开始,当我启动我的应用程序并在多个选项卡中打开一个文件时,我会丢失部分语法突出显示。它似乎主要是自定义 类,(dusk 配色方案中的绿色)。这对于调试来说可能非常乏味,因为我将 Xcode 设置为在遇到断点时打开预设 'Debug' 选项卡。基本上我会打开一个文件,启动应用程序,命一个断点,Xcode 在 'Debug' 选项卡中打开相同的文件,并且在我最需要的时候我会失去语法突出显示,以进行调试。

我试过以下方法 - 删除派生数据文件夹 - 退出 Xcode - 重新启动计算机 - 添加 $(SRCROOT) 到 header 搜索路径 - 清理项目 - 清理构建文件夹

请注意,我也在一个全新的项目上尝试过这个,只有几个 类 和几行代码。它仍然发生。

另请注意,我尝试在一个全新的用户帐户上安装新版本的 Xcode,没有我以前的所有 xcode 设置和首选项。它仍然发生。

我也下载了9.3.1试了一下。它仍然发生

这让我发疯。我非常想找到解决这个问题的方法。我希望这能成为我的英雄的老板源工具包专家!

工作示例syntax-highlighting:

建成后的样子:

更新:2018 年 5 月 18 日:这是正在发生的事情的视频 https://youtu.be/fpWV_x17J7U

更新:2018 年 5 月 18 日 在 9.2.0 上测试,不会发生,仅在 9.3.0 和 9.3.1

更新:2018 年 5 月 18 日 刚刚在朋友的电脑上测试过,可以确认他也发生了这种情况。

重现步骤。

• 更新至 Xcode 9.3.0 或 9.3.1

• 下载并打开这个基本示例项目:https://github.com/provmusic/syntaxHighlightingBug

• 打开 ViewController.swift

• 构建 -> 语法着色仍然完好无损

• 打开一个新标签,现在两个标签中都有 ViewController.swift

• 构建 -> 语法着色中断

对我来说是上面第一行的_code

if let err = err, let errorCode = StorageErrorCode(rawValue: err._code) {
        if errorCode == .objectNotFound {
          print("Asset not found, no need to delete")
          completion(true, nil)
          return
        }
      }

注释掉然后返回又解决了问题。

刚收到 Apple 的消息。这最终在 Xcode 10 Beta 5

中得到修复