除了我阅读的几篇文章和官方页面https://developer.apple.com/documentation/xcodekit#topics https://github.com/apple/swift/tree之外,我没有 XcodeKit 和 SourceKit 的经验 /master/tools/SourceKit
我试图了解两者之间的差异以及他们能够做什么。
我认为 XcodeKit 本质上让您可以向 Xcode 菜单添加命令,并可以通过创建应用扩展来与您打开的源代码进行交互,然后您也可以通过 App Store 分发该扩展。据我所知,XcodeKit 只允许您从当前聚焦的文件(不是项目中的所有文件)中获取信息,然后您可以获得选定的文本等......至少这是我在 Xcode 9 之前阅读的内容,不确定是否事情现在好多了。
SourceKit 也与源代码交互,但看起来更强大但更底层。
我想知道的是:
- SourceKit 是否可以访问您在打开的项目中拥有的所有 Swift 和 ObjC 类,然后从中提取信息?例如,假设我想提取结构和类、每个类的方法等信息,然后从中生成某种输出。我如何使用 SourceKit(或 XcodeKit?)来做到这一点?
- 任何指向示例的链接都会很棒!
- SourceKit 仍然是实际的并得到 Apple 的支持吗?
https://github.com/apple/swift/blob/master/tools/SourceKit/docs/Protocol.md
谢谢