• Public
  • Public/Protected
  • All

Interface CompletionItemProvider<T>

The completion item provider interface defines the contract between extensions and IntelliSense.

Providers can delay the computation of the detail and documentation properties by implementing the resolveCompletionItem-function. However, properties that are needed for the initial sorting and filtering, like sortText, filterText, insertText, and range, must not be changed during resolve.

Providers are asked for completions either explicitly by a user gesture or -depending on the configuration- implicitly when typing words or trigger characters.

Type parameters


  • CompletionItemProvider




Optional resolveCompletionItem

  • Given a completion item fill in more data, like doc-comment or details.

    The editor will only resolve a completion item once.

    Note that this function is called when completion items are already showing in the UI or when an item has been selected for insertion. Because of that, no property that changes the presentation (label, sorting, filtering etc) or the (primary) insert behaviour (insertText) can be changed.

    This function may fill in additionalTextEdits. However, that means an item might be inserted before resolving is done and in that case the editor will do a best effort to still apply those additional text edits.


    • item: T

      A completion item currently active in the UI.

    • token: CancellationToken

      A cancellation token.

    Returns ProviderResult<T>

    The resolved completion item or a thenable that resolves to of such. It is OK to return the given item. When no result is returned, the given item will be used.

Generated by TypeDoc. Maintained by 洛竹