From 7fdad541d5eb242ca47d47b41329d3e87dc61d55 Mon Sep 17 00:00:00 2001 From: BeniBenj Date: Wed, 5 Mar 2025 16:08:50 +0100 Subject: [PATCH 1/2] significantly increase maxHeight of hover widget --- src/vs/editor/browser/services/hoverService/hoverWidget.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/editor/browser/services/hoverService/hoverWidget.ts b/src/vs/editor/browser/services/hoverService/hoverWidget.ts index c33296a34e65b..edd51061b3145 100644 --- a/src/vs/editor/browser/services/hoverService/hoverWidget.ts +++ b/src/vs/editor/browser/services/hoverService/hoverWidget.ts @@ -551,7 +551,7 @@ export class HoverWidget extends Widget implements IHoverWidget { } private adjustHoverMaxHeight(target: TargetRect): void { - let maxHeight = this._targetWindow.innerHeight / 2; + let maxHeight = this._targetWindow.innerHeight * 0.9; // When force position is enabled, restrict max height if (this._forcePosition) { From 774309161241393484aa213da11ed68def59fcb9 Mon Sep 17 00:00:00 2001 From: BeniBenj Date: Wed, 5 Mar 2025 17:46:08 +0100 Subject: [PATCH 2/2] Do not have max height for force position --- src/vs/editor/browser/services/hoverService/hoverWidget.ts | 6 +++--- src/vs/workbench/browser/parts/statusbar/statusbarPart.ts | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/vs/editor/browser/services/hoverService/hoverWidget.ts b/src/vs/editor/browser/services/hoverService/hoverWidget.ts index edd51061b3145..d571fc8a928a0 100644 --- a/src/vs/editor/browser/services/hoverService/hoverWidget.ts +++ b/src/vs/editor/browser/services/hoverService/hoverWidget.ts @@ -551,15 +551,15 @@ export class HoverWidget extends Widget implements IHoverWidget { } private adjustHoverMaxHeight(target: TargetRect): void { - let maxHeight = this._targetWindow.innerHeight * 0.9; + let maxHeight = this._targetWindow.innerHeight * 0.5; // When force position is enabled, restrict max height if (this._forcePosition) { const padding = (this._hoverPointer ? Constants.PointerSize : 0) + Constants.HoverBorderWidth; if (this._hoverPosition === HoverPosition.ABOVE) { - maxHeight = Math.min(maxHeight, target.top - padding); + maxHeight = target.top - padding; } else if (this._hoverPosition === HoverPosition.BELOW) { - maxHeight = Math.min(maxHeight, this._targetWindow.innerHeight - target.bottom - padding); + maxHeight = this._targetWindow.innerHeight - target.bottom - padding; } } diff --git a/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts b/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts index 357bf1d397766..cde6e713dca68 100644 --- a/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts +++ b/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts @@ -36,6 +36,7 @@ import { StatusBarFocused } from '../../../common/contextkeys.js'; import { Emitter, Event } from '../../../../base/common/event.js'; import { IView } from '../../../../base/browser/ui/grid/grid.js'; import { isManagedHoverTooltipHTMLElement, isManagedHoverTooltipMarkdownString } from '../../../../base/browser/ui/hover/hover.js'; +import { HoverPosition } from '../../../../base/browser/ui/hover/hoverWidget.js'; export interface IStatusbarEntryContainer extends IDisposable { @@ -167,7 +168,11 @@ class StatusbarPart extends Part implements IStatusbarEntryContainer { { persistence: { hideOnKeyDown: true, - sticky: focus + sticky: focus, + }, + position: { + forcePosition: true, + hoverPosition: HoverPosition.ABOVE, } } )));