Change:
Currently if I start my App with another View than Debug View open and the debugger breaks because of a break point or an exception I have to manually switch to the debug view. It would be incredible if I could set an option to display the debug view in that cases automatically Thanks for your great Work!
This is a fair feature request. If we get more users asksing for this we would be willing to accept a PR that fixes this. Thanks
Why only as PR? I guess it will be only a very small change but I'm not a Typescript dev and have no idea about the internal structure of VS Code. For your team this should be a quick fix.
Because we encourage people to be invovled in our open source project Code pointer The following setting should be updated to also cover this case  to also have the following option "openOnDebugBreak" No typescript knowledge is needed for this PR fyi

Discussion:
export interface IDebugConfiguration { allowBreakpointsEverywhere: boolean; <del> openDebug: 'neverOpen' | 'openOnSessionStart' | 'openOnFirstSessionStart'; </del> <ins> openDebug: 'neverOpen' | 'openOnSessionStart' | 'openOnFirstSessionStart' | 'openOnDebugBreak'; </ins> openExplorerOnEnd: boolean; inlineValues: boolean; hideActionBar: boolean;

}, 'debug.internalConsoleOptions': INTERNAL_CONSOLE_OPTIONS_SCHEMA, 'debug.openDebug': { <del> enum: ['neverOpen', 'openOnSessionStart', 'openOnFirstSessionStart'], </del> <ins> enum: ['neverOpen', 'openOnSessionStart', 'openOnFirstSessionStart', 'openOnDebugBreak'], </ins> default: 'openOnFirstSessionStart', description: nls.localize('openDebug', "Controls whether debug view should be open on debugging session start.") },

private skipRunningTask: boolean; private previousState: debug.State; private fetchThreadsSchedulers: Map<string, RunOnceScheduler>; <ins> private openDebugOptions: "neverOpen" | "openOnSessionStart" | "openOnFirstSessionStart" | "openOnDebugBreak"; </ins> constructor( @IStorageService private storageService: IStorageService,

this.focusStackFrame(stackFrameToFocus); if (thread.stoppedDetails) { <ins> if (this.openDebugOptions === 'openOnDebugBreak') { this.viewletService.openViewlet(debug.VIEWLET_ID); } </ins> this.windowService.focusWindow(); aria.alert(nls.localize('debuggingPaused', "Debugging paused, reason {0}, {1} {2}", thread.stoppedDetails.reason, stackFrameToFocus.source ? stackFrameToFocus.source.name : '', stackFrameToFocus.range.startLineNumber)); }

this.panelService.openPanel(debug.REPL_ID, false).done(undefined, errors.onUnexpectedError); } <del> const openDebugOptions = this.configurationService.getValue<debug.IDebugConfiguration>('debug').openDebug; </del> <ins> this.openDebugOptions = this.configurationService.getValue<debug.IDebugConfiguration>('debug').openDebug; </ins> // Open debug viewlet based on the visibility of the side bar and openDebug setting <del> if (openDebugOptions === 'openOnSessionStart' || (openDebugOptions === 'openOnFirstSessionStart' && this.firstSessionStart)) { </del> <ins> if (this.openDebugOptions === 'openOnSessionStart' || (this.openDebugOptions === 'openOnFirstSessionStart' && this.firstSessionStart)) { </ins> this.viewletService.openViewlet(debug.VIEWLET_ID); } this.firstSessionStart = false;