• Public
  • Public/Protected
  • All

Interface DebugService

This service provides functionality to configure and to start a new debug adapter session. The workflow is the following. If user wants to debug an application and there is no debug configuration associated with the application then the list of available providers is requested to create suitable debug configuration. When configuration is chosen it is possible to alter the configuration by filling in missing values or by adding/changing/removing attributes. For this purpose the #resolveDebugConfiguration method is invoked. After that the debug adapter session will be started.


  • Disposable
    • DebugService



onDidChangeDebugConfigurationProviders: Event<void>

Event handle to indicate when one or more dynamic debug configuration providers have been registered or unregistered.

onDidChangeDebuggers?: Event<void>


  • createDebugSession(config: DebugConfiguration, workspaceFolderUri: undefined | string): Promise<string>
  • debugTypes(): Promise<string[]>
  • fetchDynamicDebugConfiguration(name: string, type: string, folder?: string): Promise<undefined | DebugConfiguration>
  • getConfigurationSnippets(): Promise<IJSONSchemaSnippet[]>
  • getSchemaAttributes(debugType: string): Promise<IJSONSchema[]>
  • Provides the schema attributes.


    • debugType: string

      The registered debug type

    Returns Promise<IJSONSchema[]>

    An JSON Schema describing the configuration attributes for the given debug type

  • provideDebugConfigurations(debugType: string, workspaceFolderUri: undefined | string): Promise<DebugConfiguration[]>
  • provideDebuggerVariables(debugType: string): Promise<CommandIdVariables>
  • provideDynamicDebugConfigurations(folder?: string): Promise<Record<string, DebugConfiguration[]>>
  • terminateDebugSession(sessionId: string): Promise<void>