Aligned with the Swift 6 release, SourceKit-LSP is gaining a number of new features and improvements, enhancing the Swift editing experience in any editor that supports the Language Server Protocol (LSP) and is hooked up to SourceKit-LSP. These changes include:
- Support for globally renaming symbols
- Integration with swift-format
- Background indexing of SwiftPM projects – If you are interested in trying this, we’d love to get feedback. This guide describes the setup process.
- Various other minor improvements such as expansion of trailing closures in code completion and improved call hierarchy results.
Internally, SourceKit-LSP now fully embraces Swift 6’s concurrency features, eliminating a whole category of bugs that could be caused by race conditions in SourceKit-LSP’s asynchronous processing.
Should you discover any bugs in SourceKit-LSP please file issues on GitHub Issues. Running the new sourcekit-lsp diagnose
command in Terminal generates a diagnostic bundle that includes most information that helps SourceKit-LSP developers diagnose the issue and fix bugs more quickly.