Full reference
Every namespace member, value type and helper codelet's extension API answers
Every member of vscode, every member of codelet, every constructor and enum reached off
vscode.X, and the free helpers exported from codelet/extensions — one line each. The pages
before this one explain how to use them; this page is for finding the name you already know you
want, and for checking what is not here at all.
#vscode.window
| Member | Description |
|---|---|
activeTextEditor | The TextEditor for the file showing, or undefined. See Editors. |
onDidChangeActiveTextEditor | Fires whenever that changes. |
visibleTextEditors | activeTextEditor in an array, or an empty one — one editor group. |
onDidChangeVisibleTextEditors | The same moment as above, said the other way. |
tabGroups | Every tab the reader has open. See Editors. |
onDidChangeTextEditorSelection | The caret or selection moved. |
activeColorTheme | The theme showing. See Prompts and UI. |
onDidChangeActiveColorTheme | Fires when the theme's kind changes. |
createTextEditorDecorationType | Registers an appearance for TextEditor.setDecorations. |
registerTreeDataProvider | Fills a "tree" view with rows. See Views. |
createTreeView | Same, and returns a TreeView you can set message, title, badge on. |
registerWebviewViewProvider | Fills a "webview" view. See Views. |
registerCustomEditorProvider | Fills a tab for a file contributes.customEditors claimed. |
createWebviewPanel | Opens a tab with no file under it. See Editors. |
showTextDocument | Opens a file in the editor. |
createStatusBarItem | A StatusBarItem, hidden until .show(). See Prompts and UI. |
setStatusBarMessage | A status bar item and a timeout in one call. |
createOutputChannel | An OutputChannel, or a LogOutputChannel with { log: true }. |
registerFileDecorationProvider | Badges and colors on explorer and tree rows. |
registerTerminalProfileProvider | Answers a contributes.terminal.profiles entry. See Tasks, source control and terminals. |
createTerminal | A Terminal backed by a Pseudoterminal you already hold. |
terminals | Every terminal createTerminal made. |
activeTerminal / onDidChangeActiveTerminal | Which terminal the reader is in. |
onDidOpenTerminal / onDidCloseTerminal | A terminal was made, or is gone. |
onDidChangeTerminalState | The first thing was typed into it. |
withProgress | Runs a task and says so in the status bar. See Prompts and UI. |
showQuickPick | Puts a list to the reader. See Prompts and UI. |
showInputBox | Asks for a line of text. |
createQuickPick / createInputBox | The same two fields, held open. |
showWorkspaceFolderPick | The one folder there is, put to the reader. |
registerUriHandler | Takes links the embedding host delivers with workbench.handleUri. |
showInformationMessage / showWarningMessage / showErrorMessage | A message, and the buttons on it. See Prompts and UI. |
#vscode.workspace
| Member | Description |
|---|---|
fs | A FileSystem: stat, readDirectory, createDirectory, readFile, writeFile, delete, rename, copy. |
applyEdit | Applies a WorkspaceEdit as one transaction per file. |
name | What the tree is called, or undefined. |
workspaceFolders | The one root, in an array. |
getWorkspaceFolder | Which folder a Uri is in — the one there is. |
asRelativePath | A path without the root in front of it. |
findFiles | Glob search over the tree. |
openTextDocument | Reads a file as a TextDocument. |
textDocuments | Every document with a tab open on it. |
onDidOpenTextDocument / onDidCloseTextDocument | A tab opened or closed onto a document. |
onDidChangeTextDocument | Fires on every write, contentChanges included. |
onDidSaveTextDocument / onWillSaveTextDocument | The reader saved, or is about to. |
save / saveAll | Marks a document (or every open one) as saved. |
onDidCreateFiles / onDidDeleteFiles / onDidRenameFiles | A file gesture happened. |
onWillCreateFiles / onWillDeleteFiles / onWillRenameFiles | The moment before each. |
createFileSystemWatcher | A FileSystemWatcher scoped to a glob. |
registerFileSystemProvider | Serves documents outside the tree, over a scheme of your own. |
registerTextDocumentContentProvider | Serves a scheme by text alone, read once per document. |
getConfiguration | Settings, over the manifests' defaults and what the reader wrote. |
onDidChangeConfiguration | A setting moved. |
#vscode.commands
| Member | Description |
|---|---|
registerCommand | Registers a handler. Paired with a manifest declaration, this puts it in the palette. |
registerTextEditorCommand | The same, handed the active editor and an edit builder; does nothing without one. |
executeCommand | Runs any registered command, yours or another extension's. |
getCommands | Every registered command id. filterInternal drops ones starting with _. |
#vscode.languages
| Member | Description |
|---|---|
getLanguages | Every language id codelet knows. |
setTextDocumentLanguage | Overrides what a file is treated as. |
createDiagnosticCollection | A DiagnosticCollection for errors and warnings against files. |
getDiagnostics | Everything anyone published, for one file or every file. |
onDidChangeDiagnostics | Somebody published. |
match | How well a document answers a selector, VS Code's own scoring. |
createLanguageStatusItem | What a language says about the file showing, in the status bar. |
registerDefinitionProvider / registerTypeDefinitionProvider / registerImplementationProvider / registerDeclarationProvider | Go-to-X, each its own command and its own first answer. |
registerReferenceProvider | Everywhere a name is used. Lands in the Search view. |
registerDocumentSymbolProvider | The names in a file — the palette's @. |
registerWorkspaceSymbolProvider | The same across the tree — the palette's #. |
registerHoverProvider | Hover tooltips. |
registerDocumentHighlightProvider | Every other occurrence of the name under the caret. |
registerFoldingRangeProvider | Where the file folds, narrowing the editor's own guess. |
registerInlayHintsProvider | Text drawn into the lines showing that is not in the file. |
registerCodeLensProvider | The commands drawn above a line. |
registerDocumentLinkProvider | The spans of a file that lead somewhere. |
registerColorProvider | The colors in a file, as swatches. |
registerSelectionRangeProvider | Where the selection goes when it is widened. |
registerOnTypeFormattingEditProvider | The formatter that runs on a keystroke. |
registerCompletionItemProvider | Completion lists. |
registerSignatureHelpProvider | Signature help as a call is typed. |
registerDocumentFormattingEditProvider / registerDocumentRangeFormattingEditProvider | Format the whole file, or the selection. |
registerRenameProvider | F2. |
registerCodeActionsProvider | Fixes and refactors offered at a range. |
registerDocumentPasteEditProvider / registerDocumentDropEditProvider | What a paste or a drop inserts. |
#vscode.tasks
| Member | Description |
|---|---|
registerTaskProvider | What answers for one type. |
fetchTasks | Every provider's answer, filtered by type. |
executeTask | Runs a task and resolves with its TaskExecution. |
taskExecutions | Every task currently running. |
onDidStartTask / onDidEndTask | A task started, or its terminal ended. |
#vscode.scm
| Member | Description |
|---|---|
createSourceControl | Registers a SourceControl. |
#vscode.extensions
| Member | Description |
|---|---|
all | Every extension the workbench was given, as ExtensionInfo. |
getExtension | The one with that id, or undefined. |
onDidChange | One was stopped or started, or installed. |
#vscode.env
| Member | Description |
|---|---|
appName / appHost / uiKind | What this is: "codelet", "web", UIKind.Web. |
language | The browser's own language. |
sessionId | One per page load. |
isTelemetryEnabled | Always false. |
clipboard | readText() / writeText(). See Prompts and UI. |
openExternal | Opens a Uri in a new tab. See Prompts and UI. |
uriScheme | The page's own protocol. |
asExternalUri | An address for a link that has to come back into this workbench. |
#The codelet namespace
The handful of calls VS Code has no answer for — a call is here rather than on vscode because
nothing there could have meant the same thing in a browser tab.
#codelet.window
| Member | Description |
|---|---|
registerComponentView | Fills a type: "component" view with a preact component. |
createComponentView | The same, with a handle for description and badge. |
registerLocationsView | Where a reference search (or anything like it) draws its rows. |
createBrowserPanel | A tab over a page served elsewhere — a real cross-origin frame. |
decorationOf | What a FileDecorationProvider answered for a path. |
onDidChangeFileDecorations | A decoration landed, went, or a provider registered. |
#codelet.views
| Member | Description |
|---|---|
filter | The filter box a view contributed, if its manifest declared one. |
select | The dropdown beside it, if its manifest declared one. |
#codelet.workspace
| Member | Description |
|---|---|
onDidExpandDirectory | A directory was just unfolded in the explorer. |
markSaved | That file is what was last saved — the unsaved dot goes. |
setReadonly | That file cannot be written where it really lives. |
open | A tree of this extension's own, shown until it is closed. |
onDidChangeWorkspace | The tree this extension is speaking to is a different one now. |
#codelet.terminal
| Member | Description |
|---|---|
profiles | Every shell an active manifest declared, paired with its provider. |
terminals / onDidChangeTerminals | Every terminal an extension made with createTerminal. |
tabs / onDidChangeTabs | Every tab the terminal extension is actually showing. |
present | The terminal extension publishing what it is showing. |
expect / expecting | Hold the panel open for tabs that are still arriving. |
onDidChangeExpecting | The last claim on expect() lapsed. |
onDidShowTerminal / onDidHideTerminal | That id asked to be shown, or hidden. |
focus | Which tab the reader is in, published by whoever draws them. |
#codelet.scm
| Member | Description |
|---|---|
sources / onDidChangeSources | Every registered source control, with its groups attached. |
actions | The buttons contributed to one of the four scm/* menus. |
#codelet.extensions
| Member | Description |
|---|---|
setActive | Stop an extension, or start it again. |
install | Run an extension the workbench was not built with, for this window only. |
#Value types and constructors
Reached as vscode.X, never imported — new vscode.TreeItem(...), vscode.Uri.file(...).
| Type | Description |
|---|---|
Uri | Uri.file(path), Uri.parse(value), Uri.joinPath(base, ...segments), Uri.from(components). |
Position | line, character (both 0-based), translate(), with(), comparisons. |
Range | start, end, contains(), intersection(), union(), with(). |
Selection | A Range with anchor and active. |
ThemeIcon | Names one of codelet's icons. .File and .Folder are built in. |
ThemeColor | Names a color from codelet's fixed table. |
EventEmitter | .event to subscribe, .fire(value) to emit, .dispose() to clear listeners. |
Disposable | Wraps a teardown function; Disposable.from(...disposables) combines several. |
CancellationTokenSource | The one token an extension can make for itself, everywhere else handed one. |
TreeItem | A row: label, iconPath, description, resourceUri, tooltip, command, collapsibleState, contextValue, checkboxState. |
TreeItemCollapsibleState / TreeItemCheckboxState | None/Collapsed/Expanded, Unchecked/Checked. |
MarkdownString | .appendText(), .appendMarkdown(), .appendCodeblock(). |
Hover | Markdown or code shown on hover. |
Location | A Uri plus a Range or Position. |
DocumentSymbol | A name in a file: name, detail, kind, range, selectionRange, children. |
SymbolInformation | The flat form a workspace search answers in. |
SymbolKind / SymbolTag | VS Code's own numbering, and Deprecated. |
DocumentHighlight / DocumentHighlightKind | An occurrence of the name under the caret. |
FoldingRange / FoldingRangeKind | What registerFoldingRangeProvider answers with. |
InlayHint / InlayHintKind / InlayHintLabelPart | What registerInlayHintsProvider answers with. |
CodeLens | One line of registerCodeLensProvider's answer. |
Color / ColorInformation / ColorPresentation | What registerColorProvider reads and answers with. |
DocumentLink | A span of a file that leads somewhere. |
SelectionRange | A link in the chain registerSelectionRangeProvider answers with. |
CompletionItem | label, kind, detail, documentation, insertText (plain text only), range, additionalTextEdits. |
CompletionItemKind / CompletionTriggerKind | VS Code's own numbering, and how a completion round started. |
CodeAction / CodeActionKind / CodeActionTriggerKind | A fix or refactor, its category, and how it was asked for. |
Diagnostic | range, message, severity (Error by default). |
DiagnosticSeverity / DiagnosticTag | Error/Warning/Information/Hint, and Deprecated/Unnecessary. |
DiagnosticRelatedInformation | A second location a diagnostic points at. |
TextEdit | TextEdit.replace(range, newText), .insert(position, newText), .delete(range). |
WorkspaceEdit | replace/insert/delete per Uri, plus createFile/deleteFile/renameFile. Hand it to applyEdit. |
FileDecoration | badge, tooltip, color, propagate. |
FileType / FilePermission | Bitmask values for a FileStat. |
FileChangeType | Changed/Created/Deleted, for a FileSystemProvider's own watcher. |
FileSystemError | Thrown by a FileSystemProvider answering a missing file. |
QuickPickItemKind | Default or Separator. |
QuickInputButtons | .Back, the one predefined button — compared by identity. |
InputBoxValidationSeverity | Info/Warning/Error; only Error refuses Enter. |
StatusBarAlignment | Left, Right. |
LanguageStatusSeverity | Information/Warning/Error, for a LanguageStatusItem. |
SignatureHelpTriggerKind | How a signature help popup was asked for. |
ConfigurationTarget | Named by update(); all three land in the one layer there is. |
ExtensionMode | What ExtensionContext.extensionMode is compared against. |
ColorThemeKind | Light and Dark — the two ever answered, of VS Code's four. |
UIKind | Desktop and Web; env.uiKind is always Web. |
ViewColumn | Taken by createWebviewPanel and never read — one editor group. |
TabInputText / TabInputTextDiff / TabInputCustom / TabInputWebview | What a Tab is showing, read with instanceof. |
Task / CustomExecution / TaskScope / TaskGroup | What a task provider answers with. See Tasks, source control and terminals. |
TerminalProfile | Wraps the Pseudoterminal a profile provider hands back. |
TerminalExitReason | Process, User, Extension or Unknown — why a terminal ended. |
DataTransfer / DataTransferItem | What a drag or a paste carries. |
DocumentDropEdit / DocumentPasteEdit | Built by a drop or paste provider's answer. |
DocumentDropOrPasteEditKind | Names the kind of edit one of those is. |
DocumentPasteTriggerKind | Always Automatic — there is no explicit "paste as" to ask for a different kind. |
EndOfLine | Compared to rather than built — document.eol is read against it. |
TextDocumentSaveReason | Declared for a listener written against VS Code; codelet only ever fires Manual. |
#Helpers exported from codelet/extensions
Free functions, alongside defineExtension — not reached through vscode.
| Export | Description |
|---|---|
defineExtension(extension) | Identity at runtime; types activate's parameters against your manifest. |
positionOf(place) / placeOf(position) | Converts between codelet's 1-based [line, column] Place and vscode's 0-based Position. |
rangeOf(cursor) / cursorOf(range) | The same conversion for the editor's own Cursor and a Range. |
languageIdOf(path) | The language id a path implies, from its extension or full name. |
hasLanguage(id) | Whether that id is known, versus a name passed through as-is. |
labelOf(id) | The display label for a language id — "typescript" → "TypeScript". |
languageIds() | Every language id codelet knows, as an array. |
#Not implemented
Whole namespaces are absent: vscode.debug, vscode.notebooks, vscode.comments,
vscode.authentication, vscode.l10n, vscode.tests, vscode.chat and vscode.lm — VS
Code's own language-model APIs, unrelated to the codelet/extensions/chat pane, which answers to
none of them.
env: machineId, remoteName, appRoot, shell, onDidChangeShell, isNewAppInstall,
isAppPortable, logLevel, onDidChangeLogLevel, onDidChangeTelemetryEnabled and
createTelemetryLogger are all about a machine or a telemetry pipeline a page has neither of.
scm: scm.inputBox, VS Code's own deprecated global, is the one member missing —
SourceControl.inputBox is the box.
Settings: one layer of written values under the manifests' defaults. ConfigurationScope,
[language]-scoped sections, and the workspaceValue / workspaceFolderValue /
*LanguageValue members of inspect() are all absent with the second tree they would answer.
Multi-root: workspace.workspaceFolders is one entry forever. updateWorkspaceFolders,
workspaceFile and onDidChangeWorkspaceFolders are absent with the concept.
File dialogs: no showOpenDialog or showSaveDialog — both mean the machine's own
filesystem, and a page cannot reach it.
Progress: ProgressLocation.Window is the only location, and there is no cancellation — the
task takes a Progress and no CancellationToken, and ProgressOptions.cancellable is absent.
Editing: TextEditor.selection and .selections are read-only, and there is no
revealRange(), insertSnippet(), viewColumn, visibleRanges, options, show() or
hide(). TextEdit has no setEndOfLine, and WorkspaceEdit's entries carry no
WorkspaceEditEntryMetadata for a refactor preview that does not exist. CompletionItem.insertText
is plain text only, never a SnippetString.
The filesystem: workspace.fs has no isWritableFileSystem; delete is always recursive
with no option, and rename never overwrites. Only one FileSystemProvider is allowed per
scheme, and registering one for file: throws — that scheme is the workbench's own tree. A
registerTextDocumentContentProvider has no onDidChange — its content is read once.
Views and webviews: TreeItem.tooltip is a plain string, never a MarkdownString, and its
checkbox carries no tooltip of its own. WebviewOptions has no portMapping; WebviewPanel has
no iconPath, no options (retainContextWhenHidden included), and no way to change its
viewColumn. A custom editor provider is readonly-only — no edit stack, no backups, no
onDidChangeCustomDocument.
Terminals and tasks: Terminal has no shellIntegration or creationOptions.
ExtensionTerminalOptions takes name and pty alone — no color, iconPath, isTransient
or location. tasks.onDidStartTaskProcess and .onDidEndTaskProcess are absent: what a task
runs in is a terminal, and a Pseudoterminal is not a process.
Extension context: no asAbsolutePath, extensionPath/extensionUri,
storagePath/storageUri/globalStoragePath/globalStorageUri,
environmentVariableCollection or languageModelAccessInformation — all about a filesystem or a
model access an extension in a page has no path to.
Everything else: no LocationLink (Definition is Location | Location[]), no
StatusBarItem.accessibilityInformation, no OutputChannel.logLevel /
onDidChangeLogLevel. when clauses understand a fixed handful of keys rather than VS Code's
full context-key vocabulary, though setContext is here for an extension to drive its own.