Skip to content

Commit 8bd9f89

Browse files
authored
Merge pull request microsoft#262753 from mjbvz/quintessential-moth
Don't eagerly create suggest widget when creating chat input
2 parents f9cd6f4 + 7ca8a1d commit 8bd9f89

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

src/vs/editor/contrib/suggest/browser/suggestController.ts

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,10 @@ export class SuggestController implements IEditorContribution {
132132
private readonly _selectors = new PriorityRegistry<ISuggestItemPreselector>(s => s.priority);
133133

134134
private readonly _onWillInsertSuggestItem = new Emitter<{ item: CompletionItem }>();
135-
readonly onWillInsertSuggestItem: Event<{ item: CompletionItem }> = this._onWillInsertSuggestItem.event;
135+
get onWillInsertSuggestItem() { return this._onWillInsertSuggestItem.event; }
136+
137+
private _wantsForceRenderingAbove = false;
138+
136139

137140
constructor(
138141
editor: ICodeEditor,
@@ -226,6 +229,10 @@ export class SuggestController implements IEditorContribution {
226229
}
227230
}));
228231

232+
if (this._wantsForceRenderingAbove) {
233+
widget.forceRenderingAbove();
234+
}
235+
229236
return widget;
230237
}));
231238

@@ -755,15 +762,20 @@ export class SuggestController implements IEditorContribution {
755762
}
756763

757764
forceRenderingAbove() {
758-
this.widget.value.forceRenderingAbove();
765+
if (this.widget.isInitialized) {
766+
this.widget.value.forceRenderingAbove();
767+
} else {
768+
// Defer this until the widget is created
769+
this._wantsForceRenderingAbove = true;
770+
}
759771
}
760772

761773
stopForceRenderingAbove() {
762-
if (!this.widget.isInitialized) {
763-
// This method has no effect if the widget is not initialized yet.
764-
return;
774+
if (this.widget.isInitialized) {
775+
this.widget.value.stopForceRenderingAbove();
776+
} else {
777+
this._wantsForceRenderingAbove = false;
765778
}
766-
this.widget.value.stopForceRenderingAbove();
767779
}
768780

769781
registerSelector(selector: ISuggestItemPreselector): IDisposable {

0 commit comments

Comments
 (0)