Xcode自动完成功能在Swift playgrounds的Sources文件夹中不起作用

时间:2018-02-04 22:02:11

标签: swift xcode autocomplete swift-playground

我正在Swift游乐场上工作,该游乐场在主文件旁边的Sources文件夹中包含多个文件。当我在主文件中键入某些内容(例如“UI”)时,我会收到预期的自动填充建议。但是,当我在Sources文件夹中的文件中执行相同操作时,我会收到一个“哑”自动完成菜单,如此问题所示:Xcode 9 Autocomplete Not Working 100% - Partially Working

我已尝试按照上述问题的建议删除DerivedData,甚至完全重新安装Xcode。然而,问题并没有消失。我创建了一个新的游乐场,以确保它不是特定于这个项目,并且会出现同样的问题。

编辑:我在不同的Mac上尝试了同样的事情并且观察到了同样的问题。我想这只是Xcode中的一个与此特定安装或项目无关的错误。

3 个答案:

答案 0 :(得分:20)

为了启用自动完成功能,您可以将Playground嵌入常规Xcode项目(例如iOS应用程序)中。我建议为此目的创建一个虚拟项目。只需将您的游乐场拖放到这个虚拟项目中,并确保选中“添加到目标”。

然后你可以导航到

Target -> Build Phases -> Compile Sources -> + -> Add other

并添加源文件夹中的所有文件。请注意,您不需要实际复制文件,参考就足够了。

在此过程之后,所有源文件都是针对此虚拟目标构建的,您可以像往常一样使用自动完成。据我所知,这是调试Playgrounds的最佳实践。无论如何,我很好奇,如果有更简单的方法来实现这一点。

答案 1 :(得分:0)

Swift playgroundbooks不支持自动完成功能。尝试在常规的Swift游乐场中编写代码,然后将代码移到playgroundbook上。

答案 2 :(得分:0)

每次都对我有用, 重新启动/开始->打开任何现有的Xcode项目(使用自动完成功能)->打开Playground

自动完成功能将照常运行