Skip to content

Add action to the command palette to re-index a project #939

Closed
@ahoppen

Description

@ahoppen

swiftlang/sourcekit-lsp#1507 added a workspace/triggerReindex request to SourceKit-LSP, which re-indexes a project in SourceKit-LSP if background indexing is enabled.

The request is not intended to be something that users invoke regularly but it is useful as a workaround should SourceKit-LSP’s index up-to-date tracker get out of sync with the project state (which we know can happen in some situations like swiftlang/sourcekit-lsp#1264). The workflow should thus be as follow:

  • The command palette has a SourceKit-LSP: Re-index project item
  • When it is selected, the workspace/triggerReindex is sent to the SourceKit-LSP server.
  • If a methodNotFound error (error code -32601) is returned, a custom error message should be displayed in VS Code that says that says: The installed version of SourceKit-LSP does not support background indexing. If any other error is returned, that error should be displayed as a popup.
  • If the request succeeds, a popup should be displayed saying something like: Re-indexing a project should never be necessary and indicates a bug in SourceKit-LSP. Please file an issue at https://github.com/swiftlang/sourcekit-lsp/issues/new describing which symbol was out-of-date and how you got into the state. If the user chooses to file an issue, we should enter the workflow to create a diagnose bundle.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions