提交 7a3204ce 编写于 作者: A Alex Dima

Fixes #41968: Keep the top line stable, and not the centered one

上级 ecce88d7
......@@ -218,8 +218,14 @@ export class CodeLensContribution implements editorCommon.IEditorContribution {
}
}
const centeredRange = this._editor.getCenteredRangeInViewport();
const shouldRestoreCenteredRange = centeredRange && (groups.length !== this._lenses.length && this._editor.getScrollTop() !== 0);
const visibleRanges = this._editor.getVisibleRanges();
const visiblePosition = (visibleRanges.length > 0 ? visibleRanges[0].getStartPosition() : null);
let visiblePositionScrollDelta = 0;
if (visiblePosition) {
const visiblePositionScrollTop = this._editor.getTopForPosition(visiblePosition.lineNumber, visiblePosition.column);
visiblePositionScrollDelta = this._editor.getScrollTop() - visiblePositionScrollTop;
}
this._editor.changeDecorations((changeAccessor) => {
this._editor.changeViewZones((accessor) => {
......@@ -259,8 +265,10 @@ export class CodeLensContribution implements editorCommon.IEditorContribution {
helper.commit(changeAccessor);
});
});
if (shouldRestoreCenteredRange) {
this._editor.revealRangeInCenter(centeredRange, editorCommon.ScrollType.Immediate);
if (visiblePosition) {
const visiblePositionScrollTop = this._editor.getTopForPosition(visiblePosition.lineNumber, visiblePosition.column);
this._editor.setScrollTop(visiblePositionScrollTop + visiblePositionScrollDelta);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册