Skip to main content

languagesModule

MS Code Extension API


MS Code Extension API / core/extensionAPI/modules/languagesModule

core/extensionAPI/modules/languagesModule

Type Aliases

LanguagesModule

LanguagesModule = ReturnType<typeof createLanguagesModule>

Defined in: core/extensionAPI/modules/languagesModule.ts:16

Functions

createLanguagesModule()

createLanguagesModule(extId): object

Defined in: core/extensionAPI/modules/languagesModule.ts:10

Parameters

extId

string

Returns

createDiagnosticCollection

createDiagnosticCollection: (name) => object

Creates a dedicated container for diagnostic markers. Useful for linking custom external linters, builders, or toolchains (e.g., ESLint).

Parameters
name

string

The human-readable name of the collection.

Returns

An object managing the collection lifetime and markers state.

clear

clear: () => void

Wipes all active diagnostic markers published by this specific collection instance.

Returns

void

dispose

dispose: () => void

Disposes the collection container and clears all of its registered markers.

Returns

void

name

name: string

set

set: (uri, diagnostics) => void

Publishes an array of diagnostics for a specific file resource path. This triggers native Monaco editor squiggles and updates the UI Problems Panel.

Parameters
uri

string

The absolute target document URI string.

diagnostics

IMarkerData[]

The markers metadata payload array.

Returns

void

getDiagnostics

getDiagnostics: (uri?) => IMarker[]

Retrieves all currently active diagnostics (problems) in the editor workspace.

Parameters
uri?

string

Optional target file URI to filter diagnostics.

Returns

IMarker[]

Array of diagnostic markers matching the criteria.

onDidChangeDiagnostics

onDidChangeDiagnostics: (handler) => object

Fired globally when file markers or diagnostics are added, changed, or completely cleared.

Parameters
handler

(diagnostics) => void

Callback invoked when a system diagnostics sync occurs.

Returns

object

A disposable instance object to detach the event listener hook securely.

dispose

dispose: () => void

Returns

void

registerDocumentFormattingEditProvider

registerDocumentFormattingEditProvider: (languageId, provider) => object

Registers a formatting provider for a specific language.

Parameters
languageId

string

The target language identifier (e.g., 'javascript', 'cpp', 'css').

provider

DocumentFormattingEditProvider

The implementation of the formatting logic.

Returns

A disposable object to unregister the provider.

dispose

dispose: () => void

Unregisters the formatting provider and cleans up resources.

Returns

void

registerSnippets

registerSnippets: (languageId, snippetData) => object

Register code snippets for a language. snippetData should follow the VS Code snippet JSON format.

Parameters
languageId

string

snippetData

any

Returns

object

dispose

dispose: () => void

Returns

void

Example
mscode.languages.registerSnippets('rust', {
'println macro': {
prefix: 'println',
body: ['println!("$1");'],
description: 'Print to stdout',
}
});