From 03b207680d2c6576196fbe75fa1ae779e8e25b65 Mon Sep 17 00:00:00 2001 From: isidor Date: Wed, 25 May 2016 12:07:55 +0200 Subject: [PATCH] debug: better error handling for non-existent launch configs fixes #6800 --- .../parts/debug/electron-browser/debug.contribution.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/parts/debug/electron-browser/debug.contribution.ts b/src/vs/workbench/parts/debug/electron-browser/debug.contribution.ts index cb7c1b9806d..cb7b095021b 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debug.contribution.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debug.contribution.ts @@ -7,6 +7,7 @@ import 'vs/css!../browser/media/debug.contribution'; import 'vs/css!../browser/media/debugHover'; import nls = require('vs/nls'); import { KeyMod, KeyCode } from 'vs/base/common/keyCodes'; +import { TPromise } from 'vs/base/common/winjs.base'; import editorcommon = require('vs/editor/common/editorCommon'); import { CommonEditorRegistry, ContextKey, EditorActionDescriptor } from 'vs/editor/common/editorCommonExtensions'; import { EditorBrowserRegistry } from 'vs/editor/browser/editorBrowserExtensions'; @@ -120,8 +121,12 @@ KeybindingsRegistry.registerCommandDesc({ handler(accessor: ServicesAccessor, configuration: any) { const debugService = accessor.get(debug.IDebugService); if (typeof configuration === 'string') { - return debugService.getConfigurationManager().setConfiguration(configuration) - .then(() => debugService.createSession(false)); + const configurationManager = debugService.getConfigurationManager(); + return configurationManager.setConfiguration(configuration) + .then(() => { + return configurationManager.configurationName ? debugService.createSession(false) + : TPromise.wrapError(new Error(nls.localize('launchConfigDoesNotExist', "Launch configuration '{0}' does not exist.", configuration))); + }); } const noDebug = configuration && !!configuration.noDebug; -- GitLab