我在Xcode中遇到了一个问题,错误“源套件服务终止”正在弹出,所有语法高亮显示和代码完成都在Swift中消失了。我该如何解决这个问题?

下面是一个示例图像:


当前回答

一个只包含这两行的程序(在Swift语法方面可能是错误的)足以导致“SourceKitService Terminated”错误:

var x = 42
println("Hello", x)

使用let而不是var可以使编辑器恢复正常工作。Xcode 6.0版本(6A215l)

其他回答

只是在这里添加一个潜在的解决方案,我不小心命名了一个类var与它的类型相同的名称:

class var Settings:Settings {
        get { return classVarWorkAround.settings }
    }

这肯定会使SourceKit崩溃。愚蠢的语法错误,但以防其他人犯同样的错误。

编辑:根据@Portland Runner:

类似地,如果将返回类型设置为func名称,则会得到错误。

func foo() ->foo{}

将扩展移动到主体类之前。

extension SomeType {
// new functionality to add 

}

在项目中使用Swift以外的其他名称。“Swift”是保留的。

在过去的几个月里,我几乎每天都有这种感觉。尝试了上面所有的方法,它只能暂时修复它。

最后,在两周前,我将DerivedData位置更改为一个新位置,而且我一次都没有遇到过这个问题。

我注意到,当我删除我的派生数据文件夹时,它会重新生成,由于某种原因大约是3GB。当我创建一个新文件夹时,它并没有重新生成所有这些数据。

希望这能帮助到一些人。

问题:

如果源代码中有错误,可能会弹出“SourceKitService Terminated”,代码高亮显示停止工作。它可能发生,也可能不发生,当它发生在多种不同的条件下。

我的案例:安装beta 3, OSX仅项目,一个文件检测到“半封闭范围操作符已从..对. .<”错误。弹出窗口开始出现,代码高亮显示开始失败。

解决方案:

修复Xcode检测到的错误 在Navigator中更改为不同的.swift,回到原来的 语法高亮显示重新出现,“SourceKitService Terminated”弹出