@@ -83,14 +83,13 @@ export class ModesHoverController extends Disposable implements IEditorContribut
83
83
this . _hookEvents ( ) ;
84
84
}
85
85
} ) ) ;
86
- this . _register ( this . _editor . onMouseLeave ( ( ) => {
87
- this . _mouseMoveEvent = undefined ;
88
- this . _reactToEditorMouseMoveRunner . cancel ( ) ;
89
- } ) ) ;
90
86
}
91
87
92
88
private _hookEvents ( ) : void {
93
- const hideWidgetsEventHandler = ( ) => this . _hideWidgets ( ) ;
89
+ const hideWidgetsCancelSchedulerEventHandler = ( ) => {
90
+ this . _cancelScheduler ( ) ;
91
+ this . _hideWidgets ( ) ;
92
+ } ;
94
93
95
94
const hoverOpts = this . _editor . getOption ( EditorOption . hover ) ;
96
95
this . _isHoverEnabled = hoverOpts . enabled ;
@@ -107,10 +106,16 @@ export class ModesHoverController extends Disposable implements IEditorContribut
107
106
}
108
107
109
108
this . _toUnhook . add ( this . _editor . onMouseLeave ( ( e ) => this . _onEditorMouseLeave ( e ) ) ) ;
110
- this . _toUnhook . add ( this . _editor . onDidChangeModel ( hideWidgetsEventHandler ) ) ;
109
+ this . _toUnhook . add ( this . _editor . onDidChangeModel ( hideWidgetsCancelSchedulerEventHandler ) ) ;
110
+ this . _toUnhook . add ( this . _editor . onDidChangeModelContent ( hideWidgetsCancelSchedulerEventHandler ) ) ;
111
111
this . _toUnhook . add ( this . _editor . onDidScrollChange ( ( e : IScrollEvent ) => this . _onEditorScrollChanged ( e ) ) ) ;
112
112
}
113
113
114
+ private _cancelScheduler ( ) {
115
+ this . _mouseMoveEvent = undefined ;
116
+ this . _reactToEditorMouseMoveRunner . cancel ( ) ;
117
+ }
118
+
114
119
private _unhookEvents ( ) : void {
115
120
this . _toUnhook . clear ( ) ;
116
121
}
@@ -150,6 +155,7 @@ export class ModesHoverController extends Disposable implements IEditorContribut
150
155
}
151
156
152
157
private _onEditorMouseLeave ( mouseEvent : IPartialEditorMouseEvent ) : void {
158
+ this . _cancelScheduler ( ) ;
153
159
const targetEm = ( mouseEvent . event . browserEvent . relatedTarget ) as HTMLElement ;
154
160
if ( this . _contentWidget ?. widget . isResizing || this . _contentWidget ?. containsNode ( targetEm ) ) {
155
161
// When the content widget is resizing
0 commit comments