diff --git a/src/vs/workbench/contrib/debug/browser/callStackView.ts b/src/vs/workbench/contrib/debug/browser/callStackView.ts index 18d812625a42dba7aceb3f3166da5af6b816e5fc..7314cb261a9af3748c3d08e102813575db5a1c87 100644 --- a/src/vs/workbench/contrib/debug/browser/callStackView.ts +++ b/src/vs/workbench/contrib/debug/browser/callStackView.ts @@ -308,7 +308,13 @@ export class CallStackView extends ViewPane { this.ignoreSelectionChangedEvent = true; try { this.tree.setSelection([element]); - this.tree.reveal(element); + // If the element is outside of the screen bounds, + // position it in the middle + if (this.tree.getRelativeTop(element) === null) { + this.tree.reveal(element, 0.5); + } else { + this.tree.reveal(element); + } } catch (e) { } finally { this.ignoreSelectionChangedEvent = false;