hover
Installation
SKILL.md
Hovers and tooltips
Keep hovers Calm on first entry and Consistent while moving between related controls: the first hover waits for workbench.hover.delay, then nearby, similar targets show their hovers immediately while the hover interaction remains active. Widget boundaries must not introduce another delay.
Use custom hovers by default
- Use the widget's hover API or
IHoverService, not native browser tooltips viaelement.titleorsetAttribute('title', ...). Remove conflicting HTML title attributes when introducing a custom hover. - A widget's
titleortooltipoption can still be correct when the widget routes it through the custom-hover machinery. Inspect the implementation rather than banning properties by name. - Keep native tooltips a narrow exception for controls inside an existing custom hover/context view when opening another custom hover would interfere with the parent. Pass nativeHoverDelegate through the widget's supported
hoverDelegateoption instead of hand-writing title attributes. - Do not turn an entire feature native to solve one nested control's problem. The current HoverService supports limited nested hovers, so nesting is not universally impossible; check the actual parent/context-view interaction before choosing this exception.
Choose placement and pointer together
Here, pointer means the small arrow connecting the hover to its target, not the mouse cursor.