VS Code API
    Preparing search index...

    Namespace languages

    Namespace for participating in language-specific editor features, like IntelliSense, code actions, diagnostics etc.

    Many programming languages exist and there is huge variety in syntaxes, semantics, and paradigms. Despite that, features like automatic word-completion, code navigation, or code checking have become popular across different tools for different programming languages.

    The editor provides an API that makes it simple to provide such common features by having all UI and actions already in place and by allowing you to participate by providing data only. For instance, to contribute a hover all you have to do is provide a function that can be called with a TextDocument and a Position returning hover info. The rest, like tracking the mouse, positioning the hover, keeping the hover stable etc. is taken care of by the editor.

    languages.registerHoverProvider('javascript', {
    provideHover(document, position, token) {
    return new Hover('I am a hover!');
    }
    });

    Registration is done using a document selector which is either a language id, like javascript or a more complex filter like { language: 'typescript', scheme: 'file' }. Matching a document against such a selector will result in a score that is used to determine if and how a provider shall be used. When scores are equal the provider that came last wins. For features that allow full arity, like hover, the score is only checked to be >0, for other features, like IntelliSense the score is used for determining the order in which providers are asked to participate.

    Variables

    onDidChangeDiagnostics

    Functions

    createDiagnosticCollection
    createLanguageStatusItem
    getDiagnostics
    getLanguages
    match
    registerCallHierarchyProvider
    registerCodeActionsProvider
    registerCodeLensProvider
    registerColorProvider
    registerCompletionItemProvider
    registerDeclarationProvider
    registerDefinitionProvider
    registerDocumentDropEditProvider
    registerDocumentFormattingEditProvider
    registerDocumentHighlightProvider
    registerDocumentLinkProvider
    registerDocumentPasteEditProvider
    registerDocumentRangeFormattingEditProvider
    registerDocumentRangeSemanticTokensProvider
    registerDocumentSemanticTokensProvider
    registerDocumentSymbolProvider
    registerEvaluatableExpressionProvider
    registerFoldingRangeProvider
    registerHoverProvider
    registerImplementationProvider
    registerInlayHintsProvider
    registerInlineCompletionItemProvider
    registerInlineValuesProvider
    registerLinkedEditingRangeProvider
    registerOnTypeFormattingEditProvider
    registerReferenceProvider
    registerRenameProvider
    registerSelectionRangeProvider
    registerSignatureHelpProvider
    registerTypeDefinitionProvider
    registerTypeHierarchyProvider
    registerWorkspaceSymbolProvider
    setLanguageConfiguration
    setTextDocumentLanguage