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
.
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 { |
---|