diff --git a/src/vs/workbench/api/electron-browser/mainThreadDebugService.ts b/src/vs/workbench/api/electron-browser/mainThreadDebugService.ts index 4414ac5c392..84947a031ca 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadDebugService.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadDebugService.ts @@ -168,6 +168,7 @@ export class MainThreadDebugService implements MainThreadDebugServiceShape, IDeb }; } if (hasProvideDebugAdapter) { + console.info('DebugConfigurationProvider.debugAdapterExecutable is deprecated and will be removed soon; please use DebugAdapterDescriptorFactory.createDebugAdapterDescriptor instead.'); provider.debugAdapterExecutable = (folder) => { return Promise.resolve(this._proxy.$legacyDebugAdapterExecutable(handle, folder)); }; diff --git a/src/vs/workbench/parts/debug/common/debug.ts b/src/vs/workbench/parts/debug/common/debug.ts index 026ea654bd0..02e86fa4ec7 100644 --- a/src/vs/workbench/parts/debug/common/debug.ts +++ b/src/vs/workbench/parts/debug/common/debug.ts @@ -609,7 +609,7 @@ export interface IConfigurationManager { unregisterDebugAdapterTrackerFactory(debugAdapterTrackerFactory: IDebugAdapterTrackerFactory): void; resolveConfigurationByProviders(folderUri: uri | undefined, type: string | undefined, debugConfiguration: any): Promise; - provideDebugAdapter(session: IDebugSession): Promise; + getDebugAdapterDescriptor(session: IDebugSession): Promise; registerDebugAdapterFactory(debugTypes: string[], debugAdapterFactory: IDebugAdapterFactory): IDisposable; createDebugAdapter(session: IDebugSession): IDebugAdapter; diff --git a/src/vs/workbench/parts/debug/electron-browser/debugConfigurationManager.ts b/src/vs/workbench/parts/debug/electron-browser/debugConfigurationManager.ts index 8c20e13ff80..fce0264efc6 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugConfigurationManager.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugConfigurationManager.ts @@ -49,7 +49,7 @@ export class ConfigurationManager implements IConfigurationManager { private toDispose: IDisposable[]; private _onDidSelectConfigurationName = new Emitter(); private configProviders: IDebugConfigurationProvider[]; - private adapterProviders: IDebugAdapterDescriptorFactory[]; + private adapterDescriptorFactories: IDebugAdapterDescriptorFactory[]; private adapterTrackerFactories: IDebugAdapterTrackerFactory[]; private debugAdapterFactories: Map; private terminalLauncher: ITerminalLauncher; @@ -68,7 +68,7 @@ export class ConfigurationManager implements IConfigurationManager { @IContextKeyService contextKeyService: IContextKeyService ) { this.configProviders = []; - this.adapterProviders = []; + this.adapterDescriptorFactories = []; this.adapterTrackerFactories = []; this.debuggers = []; this.toDispose = []; @@ -124,7 +124,7 @@ export class ConfigurationManager implements IConfigurationManager { // debug adapter public registerDebugAdapterDescriptorFactory(debugAdapterProvider: IDebugAdapterDescriptorFactory): IDisposable { - this.adapterProviders.push(debugAdapterProvider); + this.adapterDescriptorFactories.push(debugAdapterProvider); return { dispose: () => { this.unregisterDebugAdapterDescriptorFactory(debugAdapterProvider); @@ -133,13 +133,13 @@ export class ConfigurationManager implements IConfigurationManager { } public unregisterDebugAdapterDescriptorFactory(debugAdapterProvider: IDebugAdapterDescriptorFactory): void { - const ix = this.adapterProviders.indexOf(debugAdapterProvider); + const ix = this.adapterDescriptorFactories.indexOf(debugAdapterProvider); if (ix >= 0) { - this.configProviders.splice(ix, 1); + this.adapterDescriptorFactories.splice(ix, 1); } } - public provideDebugAdapter(session: IDebugSession): Promise { + public getDebugAdapterDescriptor(session: IDebugSession): Promise { const config = session.configuration; @@ -151,8 +151,8 @@ export class ConfigurationManager implements IConfigurationManager { // TODO@AW handle n > 1 case } - // try new proposed API - const providers = this.adapterProviders.filter(p => p.type === config.type && p.createDebugAdapterDescriptor); + // new API + const providers = this.adapterDescriptorFactories.filter(p => p.type === config.type && p.createDebugAdapterDescriptor); if (providers.length === 1) { return providers[0].createDebugAdapterDescriptor(session); } else { @@ -175,7 +175,7 @@ export class ConfigurationManager implements IConfigurationManager { public unregisterDebugAdapterTrackerFactory(debugAdapterTrackerFactory: IDebugAdapterTrackerFactory): void { const ix = this.adapterTrackerFactories.indexOf(debugAdapterTrackerFactory); if (ix >= 0) { - this.configProviders.splice(ix, 1); + this.adapterTrackerFactories.splice(ix, 1); } } diff --git a/src/vs/workbench/parts/debug/node/debugger.ts b/src/vs/workbench/parts/debug/node/debugger.ts index 60468da355d..5384fa697b9 100644 --- a/src/vs/workbench/parts/debug/node/debugger.ts +++ b/src/vs/workbench/parts/debug/node/debugger.ts @@ -85,11 +85,10 @@ export class Debugger implements IDebugger { }); } - // try the proposed and the deprecated "provideDebugAdapter" API - return this.configurationManager.provideDebugAdapter(session).then(adapter => { + // try the new "createDebugAdapterDescriptor" and the deprecated "provideDebugAdapter" API + return this.configurationManager.getDebugAdapterDescriptor(session).then(adapter => { if (adapter) { - console.info('DebugConfigurationProvider.debugAdapterExecutable is deprecated and will be removed soon; please use DebugAdapterDescriptorFactory.createDebugAdapterDescriptor instead.'); return adapter; } diff --git a/src/vs/workbench/parts/debug/test/node/debugger.test.ts b/src/vs/workbench/parts/debug/test/node/debugger.test.ts index 24e5fcc2cfa..5dc901b29c0 100644 --- a/src/vs/workbench/parts/debug/test/node/debugger.test.ts +++ b/src/vs/workbench/parts/debug/test/node/debugger.test.ts @@ -117,7 +117,7 @@ suite('Debug - Debugger', () => { const configurationManager = { - provideDebugAdapter(session: IDebugSession, config: IConfig): Promise { + getDebugAdapterDescriptor(session: IDebugSession, config: IConfig): Promise { return Promise.resolve(undefined); } };