languages
Interfaces
CancellationToken
Defined in: modules/languages/formatter.d.ts:13
Properties
isCancellationRequested
readonlyisCancellationRequested:boolean
Defined in: modules/languages/formatter.d.ts:14
onCancellationRequested
readonlyonCancellationRequested: (listener) =>Disposable
Defined in: modules/languages/formatter.d.ts:15
Parameters
listener
(e) => any
Returns
DocumentFormattingEditProvider
Defined in: modules/languages/formatter.d.ts:29
The document formatting provider interface defines the contract between extensions and the formatting-feature.
Methods
provideDocumentFormattingEdits()
provideDocumentFormattingEdits(
model,options,token):TextEdit[] |Promise<TextEdit[]>
Defined in: modules/languages/formatter.d.ts:37
Provide formatting edits for a whole document. *
Parameters
model
any
The document in which the command was invoked.
options
Options controlling formatting.
token
A cancellation token.
Returns
TextEdit[] | Promise<TextEdit[]>
An array of text edits describing the formatting changes.
FormattingOptions
Defined in: modules/languages/formatter.d.ts:6
Properties
insertSpaces
insertSpaces:
boolean
Defined in: modules/languages/formatter.d.ts:10
Prefer spaces over tabs.
tabSize
tabSize:
number
Defined in: modules/languages/formatter.d.ts:8
Size of a tab in spaces.
SnippetCollection
Defined in: modules/languages/snippets.d.ts:25
Dictionary of snippet configurations.
Indexable
[
snippetName:string]:SnippetDefinition
SnippetDefinition
Defined in: modules/languages/snippets.d.ts:9
Blueprint for defining an individual code snippet.
Properties
body
body:
string|string[]
Defined in: modules/languages/snippets.d.ts:13
The body of the snippet. Array of strings represents multiple lines.
description?
optionaldescription?:string
Defined in: modules/languages/snippets.d.ts:15
Optional description of the snippet shown in the autocomplete UI.
exclude?
optionalexclude?:string[]
Defined in: modules/languages/snippets.d.ts:19
Glob patterns matching file paths where this snippet should be HIDDEN.
include?
optionalinclude?:string[]
Defined in: modules/languages/snippets.d.ts:17
Glob patterns matching file paths where this snippet should be ACTIVE.
prefix
prefix:
string|string[]
Defined in: modules/languages/snippets.d.ts:11
The prefix or array of prefixes that trigger the snippet.
TextEdit
Defined in: modules/languages/formatter.d.ts:18
Properties
range
range:
any
Defined in: modules/languages/formatter.d.ts:20
The range of the text document to be manipulated.
text
text:
string
Defined in: modules/languages/formatter.d.ts:22
The string to be inserted. For delete operations use an empty string.
Functions
createDiagnosticCollection()
createDiagnosticCollection(
name):DiagnosticCollection
Defined in: modules/languages/diagnostics.d.ts:102
Creates a dedicated container for diagnostic markers. Useful for linking custom external linters, builders, or toolchains. *
Parameters
name
string
The human-readable name of the collection.
Returns
An object managing the collection lifetime and markers state. *
Example
// 1. create collection
const myLinter = mscode.languages.createDiagnosticCollection('my-awesome-linter');
* // 2. scan code & set error
myLinter.set('file:///sdcard/project/main.js', [
{
severity: mscode.DiagnosticSeverity.Error,
message: "Missing semicolon!",
startLineNumber: 10,
startColumn: 5,
endLineNumber: 10,
endColumn: 6
}
]);
getDiagnostics()
getDiagnostics(
uri?):Diagnostic[]
Defined in: modules/languages/diagnostics.d.ts:80
Retrieves all currently active diagnostics (problems) in the editor workspace. *
Parameters
uri?
string
Optional target file URI to filter diagnostics.
Returns
Array of diagnostic markers matching the criteria.
onDidChangeDiagnostics()
onDidChangeDiagnostics(
handler):Disposable
Defined in: modules/languages/diagnostics.d.ts:113
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
A disposable instance object to detach the event listener hook securely. *
Example
mscode.languages.onDidChangeDiagnostics((allProblems) => {
console.log(`Total problems in project: ${allProblems.length}`);
});
registerDocumentFormattingEditProvider()
registerDocumentFormattingEditProvider(
languageId,provider):Disposable
Defined in: modules/languages/formatter.d.ts:50
Registers a code formatter for a specific language. *
Parameters
languageId
string
The language identifier (e.g., 'javascript', 'cpp').
provider
DocumentFormattingEditProvider
The formatting provider implementation.
Returns
A disposable object that unregisters the provider when disposed.
registerSnippets()
registerSnippets(
languageId,snippetData):Disposable
Defined in: modules/languages/snippets.d.ts:44
Registers a collection of code snippets for a specific language. Integrates with the Monaco auto-complete engine natively. *
Parameters
languageId
string
The targeted language identifier (e.g. 'rust', 'html').
snippetData
A dictionary object mapping snippet names to their definitions.
Returns
A disposable object to clean up the snippets on deactivation. *
Example
const dispose = mscode.languages.registerSnippets('rust', {
'println macro': {
prefix: 'println',
body: ['println!("$1");'],
description: 'Print to stdout'
}
});
registerSymbolProvider()
registerSymbolProvider(
languageId,provider):Disposable
Defined in: modules/languages/symbols.d.ts:106
Registers a custom AST/Regex symbol provider engine linked into the global SymbolManager router tree. Enables custom extensions to feed data elements into the code structure and Outline panel viewports.
Parameters
languageId
string
Target selector scope string (e.g., 'javascript', 'python', or '*' for global fallbacks).
provider
An operational strategy implementation container conforming to the SymbolProvider layout.
Returns
A disposable object to safely flush memory tracking grids upon extension deactivation loops.
Example
const jsProvider = mscode.languages.registerSymbolProvider('javascript', {
provideSymbols: async (text, languageId) => {
// Process string parsing loops or AST nodes
return [
{
name: "UserManager",
detail: "class",
kind: mscode.SymbolKind.Class,
children: [
{ name: "getUserData", detail: "(id: string) => Promise", kind: mscode.SymbolKind.Method }
]
}
];
}
});
// On deactivation routines:
jsProvider.dispose();