ggo*_*d75 9 sourcekit xcodekit
除了我读过的几篇文章和官方页面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 也与源代码交互,但看起来更强大,但级别更低。
我想知道的是:
https://github.com/apple/swift/blob/master/tools/SourceKit/docs/Protocol.md
谢谢
Chr*_*ski 13
根据您的最终目标,您有以下几种选择:
\n\nSwiftSyntax
是 Apple 的一个新的(测试版)开源框架,用于遍历/修改文档\xe2\x80\x99s AST(抽象语法树)。GitHub 存储库上提供了更多信息和示例。
如前所述,SourceKitten
它是一个用于与SourceKit
. SourceKit
是 Xcode 的支柱,没有它,它实际上只是一个美化的文本编辑器。它提供了从语义分析子结构和生成的接口到代码完成和语法突出显示\xe2\x80\x94 IDE 所需的一切。它是最全面的选项,而且不会很快消失(正如Maxim提到的,Apple 甚至为其开发了LSP接口。)无耻的插头:我进一步开发了 xe2x80x99 Sylvester
,一种类型化的、 XPC-available SourceKitten
( SourceKit
) 接口带有一些糖。该SKEditorOpen
请求应该为您提供足够的信息,以便从源文档中提取您想要的任何内容。
XcodeKit
公开了极其有限的 API 来与源代码交互。事实上,它仅提供用户调用命令的编辑器中打开文档的可变缓冲区。
至于您在编辑器中检索当前打开的文档的询问,您唯一的选择是使用Xcode 公开的精彩脚本接口。Xcode SDEF 文件可以在/Applications/Xcode.app/Contents/Resources/Xcode.sdef中找到。您可以使用该ScriptingBridge
框架从 Cocoa 应用程序中执行此操作。如果您使用 Swift,那么SwiftScripting
存储库将非常有帮助。
归档时间: |
|
查看次数: |
4421 次 |
最近记录: |