提交 8c4bf4a4 编写于 作者: I isidor

debug: polish repl auto scroll

fixes #9886
上级 c17a4972
......@@ -19,7 +19,6 @@ import {Model} from 'vs/editor/common/model/model';
import {CodeEditor} from 'vs/editor/browser/codeEditor';
import viewer = require('vs/workbench/parts/debug/electron-browser/replViewer');
import debug = require('vs/workbench/parts/debug/common/debug');
import {Expression} from 'vs/workbench/parts/debug/common/debugModel';
import debugactions = require('vs/workbench/parts/debug/browser/debugActions');
import replhistory = require('vs/workbench/parts/debug/common/replHistory');
import {Panel} from 'vs/workbench/browser/panel';
......@@ -85,7 +84,7 @@ export class Repl extends Panel {
if (panel.getId() === debug.REPL_ID) {
const elements = this.debugService.getModel().getReplElements();
if (elements.length > 0) {
return this.reveal(elements[elements.length - 1]);
return this.tree.reveal(elements[elements.length - 1]);
}
}
}));
......@@ -100,22 +99,7 @@ export class Repl extends Panel {
this.refreshTimeoutHandle = setTimeout(() => {
this.refreshTimeoutHandle = null;
const scrollPosition = this.tree.getScrollPosition();
this.tree.refresh().then(() => {
if (scrollPosition === 0 || scrollPosition === 1) {
this.tree.setScrollPosition(1); // keep scrolling to the end unless user scrolled up
}
// If the last repl element has children - auto expand it #6019
const elements = this.debugService.getModel().getReplElements();
const lastElement = elements.length > 0 ? elements[elements.length - 1] : null;
if (lastElement instanceof Expression && lastElement.reference > 0) {
return this.tree.expand(elements[elements.length - 1]).then(() =>
this.tree.reveal(elements[elements.length - 1], 0)
);
}
}, errors.onUnexpectedError);
this.tree.refresh().done(() => this.tree.setScrollPosition(1), errors.onUnexpectedError);
}, Repl.REFRESH_DELAY);
}
}
......@@ -192,10 +176,6 @@ export class Repl extends Panel {
this.replInput.focus();
}
public reveal(element: debug.ITreeElement): TPromise<void> {
return this.tree.reveal(element);
}
public getActions(): actions.IAction[] {
if (!this.actions) {
this.actions = [
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册