Change:
Hovering inlay hints should show problems "underneath": !
Came here to report the same thing https://user-
This happens because inlay hint have their own hover which are anchored on a . The diagnostics hover explicitly checks for that and . Would be OK to pretend to be a "normal" range hover anchor so that I can get all the hovers together? Or should the diagnostics hover not check for the hover type?
The is used both by inlay hints (via ) and ghost text (directly instantiates it). I think in the case of inlay hints you would want that markers are rendered in the hover, but perhaps ghost text wouldn't want that they appear in the hover, it might want to show only these actions: <img width="598" alt="image" src="https://user-"My suggestion would be to add something to to be able to distinguish the two cases.
Can still repro this
Please update this issue with a real code snippet that allows to reproduce this, please update this issue with what you have tried. Thanks
I just found a reduce function in VS Code sources such as and replace the returned value with the void keyword such as
Something like this only gives a squiggle for the return value, not the arguments or anything with inline hints. To clarify, this will only work for squiggles that spawn across inline hints <img width="699" alt="Screenshot 2023-01-26 at 14 49 07" src="https://user-"
Hmm, maybe it's because it's in a function so the return value becomes incorrect? This in <img width="917" alt="image" src="https://user-"
Thanks for updating
Looks good to me. Version: 1.75.0-insider Commit: !

Discussion:
} private static _getLineDecorations(editor: IActiveCodeEditor, anchor: HoverAnchor): IModelDecoration[] { <del> if (anchor.type !== HoverAnchorType.Range) { </del> <ins> if (anchor.type !== HoverAnchorType.Range && !anchor.supportsMarkerHover) { </ins> return []; }

public readonly range: Range, public readonly initialMousePosX: number | undefined, public readonly initialMousePosY: number | undefined, <ins> public readonly supportsMarkerHover: boolean | undefined </ins> ) { } public equals(other: HoverAnchor) {

) { } public computeSync(anchor: HoverAnchor, lineDecorations: IModelDecoration[]): MarkerHover[] { <del> if (!this._editor.hasModel() || anchor.type !== HoverAnchorType.Range) { </del> <ins> if (!this._editor.hasModel() || anchor.type !== HoverAnchorType.Range && !anchor.supportsMarkerHover) { </ins> return []; }

initialMousePosX: number | undefined, initialMousePosY: number | undefined ) { <del> super(10, owner, part.item.anchor.range, initialMousePosX, initialMousePosY); </del> <ins> super(10, owner, part.item.anchor.range, initialMousePosX, initialMousePosY, true); </ins> } }

// handle the case where the mouse is over the view zone const viewZoneData = target.detail; if (controller.shouldShowHoverAtViewZone(viewZoneData.viewZoneId)) { <del> return new HoverForeignElementAnchor(1000, this, Range.fromPositions(this._editor.getModel()!.validatePosition(viewZoneData.positionBefore || viewZoneData.position)), mouseEvent.event.posx, mouseEvent.event.posy); </del> <ins> return new HoverForeignElementAnchor(1000, this, Range.fromPositions(this._editor.getModel()!.validatePosition(viewZoneData.positionBefore || viewZoneData.position)), mouseEvent.event.posx, mouseEvent.event.posy, false); </ins> } } if (target.type === MouseTargetType.CONTENT_EMPTY) { // handle the case where the mouse is over the empty portion of a line following ghost text if (controller.shouldShowHoverAt(target.range)) { <del> return new HoverForeignElementAnchor(1000, this, target.range, mouseEvent.event.posx, mouseEvent.event.posy); </del> <ins> return new HoverForeignElementAnchor(1000, this, target.range, mouseEvent.event.posx, mouseEvent.event.posy, false); </ins> } } if (target.type === MouseTargetType.CONTENT_TEXT) { // handle the case where the mouse is directly over ghost text const mightBeForeignElement = target.detail.mightBeForeignElement; if (mightBeForeignElement && controller.shouldShowHoverAt(target.range)) { <del> return new HoverForeignElementAnchor(1000, this, target.range, mouseEvent.event.posx, mouseEvent.event.posy); </del> <ins> return new HoverForeignElementAnchor(1000, this, target.range, mouseEvent.event.posx, mouseEvent.event.posy, false); </ins> } } return null;