SourceKit-LSP
SourceKit-LSP 是针对 Swift 以及基于 C 的语言实现的 语言服务器协议 (LSP)。它为支持 LSP 的编辑器提供代码补全、跳转至定义等智能编辑功能。SourceKit-LSP 基于 sourcekitd 和 clangd 构建,以此实现高保真的语言支持,同时还具备强大的源代码索引功能以及跨语言支持能力。SourceKit-LSP 支持使用 Swift Package Manager 的项目,也支持生成 compile_commands.json 文件的项目,例如 CMake 项目。
入门指南
SourceKit-LSP 已包含在 swift.org 上提供的 Swift 工具链中,同时也随 Xcode 一同提供。
swift.org/tools 列出了众多支持 LSP 的常用编辑器,这些编辑器可以与 SourceKit-LSP 相连以获得智能编辑功能,同时还提供了相关的设置指南。
[!IMPORTANT] SourceKit-LSP 不会在后台更新其全局索引,也不会在后台构建 Swift 模块。因此,如果项目近期未被构建,许多跨模块或全局功能将会受到限制。若要更新索引或重新构建 Swift 模块,请构建您的项目,或按照 启用实验性后台索引 中的说明来启用该功能。
如需了解更多关于 SourceKit-LSP 的信息,请参阅 文档。
[!NOTE] 如果您在 SwiftPM 项目中使用 SourceKit-LSP,且需要向
swift build调用过程传递额外参数(嵌入式项目通常都需要这样做),则需按照 Using SourceKit-LSP with Embedded Projects] 中的说明,将这些参数告知 SourceKit-LSP。
报告问题
如果您在使用 SourceKit-LSP 时遇到任何问题,欢迎在 GitHub Issue] 上提交错误报告。
贡献代码
如果您想为 SourceKit-LSP 贡献代码,请参阅 CONTRIBUTING.md] 以获取更多信息。