Variables

activeDebugConsole:DebugConsole

The currently active {@link DebugConsole debug console}. If no debug session is active, output sent to the debug console is not shown.

activeDebugSession:Null<DebugSession>

The currently active {@link DebugSession debug session} or undefined. The active debug session is the one represented by the debug action floating window or the one currently shown in the drop down menu of the debug action floating window. If no debug session is active, the value is undefined.

breakpoints:Array<Breakpoint>

List of breakpoints.

read onlyonDidChangeActiveDebugSession:Event<Null<DebugSession>>

An {@link Event} which fires when the {@link debug.activeDebugSession active debug session} has changed. Note that the event also fires when the active debug session changes to undefined.

read onlyonDidChangeBreakpoints:Event<BreakpointsChangeEvent>

An {@link Event} that is emitted when the set of breakpoints is added, removed, or changed.

read onlyonDidReceiveDebugSessionCustomEvent:Event<DebugSessionCustomEvent>

An {@link Event} which fires when a custom DAP event is received from the {@link DebugSession debug session}.

read onlyonDidStartDebugSession:Event<DebugSession>

An {@link Event} which fires when a new {@link DebugSession debug session} has been started.

read onlyonDidTerminateDebugSession:Event<DebugSession>

An {@link Event} which fires when a {@link DebugSession debug session} has terminated.

Methods

addBreakpoints(breakpoints:ReadOnlyArray<Breakpoint>):Void

Add breakpoints.

Parameters:

breakpoints

The breakpoints to add.

asDebugSourceUri(source:DebugProtocolSource, ?session:DebugSession):Uri

Converts a "Source" descriptor object received via the Debug Adapter Protocol into a Uri that can be used to load its contents. If the source descriptor is based on a path, a file Uri is returned. If the source descriptor uses a reference number, a specific debug Uri (scheme 'debug') is constructed that requires a corresponding ContentProvider and a running debug session

If the "Source" descriptor has insufficient information for creating the Uri, an error is thrown.

Parameters:

source

An object conforming to the Source type defined in the Debug Adapter Protocol.

session

An optional debug session that will be used when the source descriptor uses a reference number to load the contents from an active debug session.

Returns:

A uri that can be used to load the contents of the source.

registerDebugAdapterDescriptorFactory(debugType:String, factory:DebugAdapterDescriptorFactory):Disposable

Register a {@link DebugAdapterDescriptorFactory debug adapter descriptor factory} for a specific debug type. An extension is only allowed to register a DebugAdapterDescriptorFactory for the debug type(s) defined by the extension. Otherwise an error is thrown. Registering more than one DebugAdapterDescriptorFactory for a debug type results in an error.

@link DebugAdapterDescriptorFactory debug adapter descriptor factory} to register. @link Disposable} that unregisters this factory when being disposed.

Parameters:

debugType

The debug type for which the factory is registered.

factory

The {

Returns:

A {

registerDebugAdapterTrackerFactory(debugType:String, factory:DebugAdapterTrackerFactory):Disposable

Register a debug adapter tracker factory for the given debug type.

@link DebugAdapterTrackerFactory debug adapter tracker factory} to register. @link Disposable} that unregisters this factory when being disposed.

Parameters:

debugType

The debug type for which the factory is registered or '*' for matching all debug types.

factory

The {

Returns:

A {

registerDebugConfigurationProvider(debugType:String, provider:DebugConfigurationProvider, ?triggerKind:DebugConfigurationProviderTriggerKind):Disposable

Register a {@link DebugConfigurationProvider debug configuration provider} for a specific debug type. The optional {@link DebugConfigurationProviderTriggerKind triggerKind} can be used to specify when the provideDebugConfigurations method of the provider is triggered. Currently two trigger kinds are possible: with the value Initial (or if no trigger kind argument is given) the provideDebugConfigurations method is used to provide the initial debug configurations to be copied into a newly created launch.json. With the trigger kind Dynamic the provideDebugConfigurations method is used to dynamically determine debug configurations to be presented to the user (in addition to the static configurations from the launch.json). Please note that the triggerKind argument only applies to the provideDebugConfigurations method: so the resolveDebugConfiguration methods are not affected at all. Registering a single provider with resolve methods for different trigger kinds, results in the same resolve methods called multiple times. More than one provider can be registered for the same type.

@link DebugConfigurationProvider debug configuration provider} to register. @link DebugConfigurationProviderTrigger trigger} for which the 'provideDebugConfiguration' method of the provider is registered. If triggerKind is missing, the value DebugConfigurationProviderTriggerKind.Initial is assumed. @link Disposable} that unregisters this provider when being disposed.

Parameters:

type

The debug type for which the provider is registered.

provider

The {

triggerKind

The {

Returns:

A {

removeBreakpoints(breakpoints:ReadOnlyArray<Breakpoint>):Void

Remove breakpoints.

Parameters:

breakpoints

The breakpoints to remove.

startDebugging(folder:Null<WorkspaceFolder>, nameOrConfiguration:EitherType<String, DebugConfiguration>, ?parentSessionOrOptions:EitherType<DebugSession, DebugSessionOptions>):Thenable<Bool>

Start debugging by using either a named launch or named compound configuration, or by directly passing a {@link DebugConfiguration}. The named configurations are looked up in '.vscode/launch.json' found in the given folder. Before debugging starts, all unsaved files are saved and the launch configurations are brought up-to-date. Folder specific variables used in the configuration (e.g. '${workspaceFolder}') are resolved against the given folder. @link WorkspaceFolder workspace folder} for looking up named configurations and resolving variables or undefined for a non-folder setup. @link DebugConfiguration} object. @link DebugSession debug session}, assumes options with just this parent session.

Parameters:

folder

The {

nameOrConfiguration

Either the name of a debug or compound configuration or a {

parentSessionOrOptions

Debug session options. When passed a parent {

Returns:

A thenable that resolves when debugging could be successfully started.

stopDebugging(?session:DebugSession):Thenable<Void>

Stop the given debug session or stop all debug sessions if session is omitted. @link DebugSession debug session} to stop; if omitted all sessions are stopped.

Parameters:

session

The {