Skip to content

Commit 2dad26a

Browse files
authored
Merge pull request microsoft#223879 from microsoft/tyriar/release_1.92_223876_cache_font_info
Cache font info to avoid excessive layout
2 parents 4d17e85 + 7d6e919 commit 2dad26a

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalSuggestAddon.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -505,21 +505,20 @@ export class SuggestAddon extends Disposable implements ITerminalAddon, ISuggest
505505
private _ensureSuggestWidget(terminal: Terminal): SimpleSuggestWidget {
506506
this._terminalSuggestWidgetVisibleContextKey.set(true);
507507
if (!this._suggestWidget) {
508+
const c = this._terminalConfigurationService.config;
509+
const font = this._terminalConfigurationService.getFont(dom.getActiveWindow());
510+
const fontInfo = {
511+
fontFamily: font.fontFamily,
512+
fontSize: font.fontSize,
513+
lineHeight: Math.ceil(1.5 * font.fontSize),
514+
fontWeight: c.fontWeight.toString(),
515+
letterSpacing: font.letterSpacing
516+
};
508517
this._suggestWidget = this._register(this._instantiationService.createInstance(
509518
SimpleSuggestWidget,
510519
this._panel!,
511520
this._instantiationService.createInstance(PersistedWidgetSize),
512-
() => {
513-
const c = this._terminalConfigurationService.config;
514-
const font = this._terminalConfigurationService.getFont(dom.getActiveWindow());
515-
return {
516-
fontFamily: font.fontFamily,
517-
fontSize: font.fontSize,
518-
lineHeight: Math.ceil(1.5 * font.fontSize),
519-
fontWeight: c.fontWeight.toString(),
520-
letterSpacing: font.letterSpacing
521-
};
522-
},
521+
() => fontInfo,
523522
{}
524523
));
525524
this._suggestWidget.list.style(getListStyles({

0 commit comments

Comments
 (0)