@@ -15,7 +15,7 @@ import { ICompressedTreeElement, ICompressedTreeNode } from 'vs/base/browser/ui/
15
15
import { ICompressibleTreeRenderer } from 'vs/base/browser/ui/tree/objectTree' ;
16
16
import { ITreeContextMenuEvent , ITreeNode } from 'vs/base/browser/ui/tree/tree' ;
17
17
import { Action , IAction , Separator } from 'vs/base/common/actions' ;
18
- import { RunOnceScheduler } from 'vs/base/common/async' ;
18
+ import { Delayer , RunOnceScheduler } from 'vs/base/common/async' ;
19
19
import { Codicon } from 'vs/base/common/codicons' ;
20
20
import { Color } from 'vs/base/common/color' ;
21
21
import { Emitter , Event } from 'vs/base/common/event' ;
@@ -1228,6 +1228,7 @@ class PlainTextMessagePeek extends Disposable implements IPeekOutputRenderer {
1228
1228
class TerminalMessagePeek extends Disposable implements IPeekOutputRenderer {
1229
1229
private dimensions ?: dom . IDimension ;
1230
1230
private readonly terminalCwd = this . _register ( new MutableObservableValue < string > ( '' ) ) ;
1231
+ private readonly xtermLayoutDelayer = this . _register ( new Delayer ( 50 ) ) ;
1231
1232
1232
1233
/** Active terminal instance. */
1233
1234
private readonly terminal = this . _register ( new MutableDisposable < IDetachedXtermTerminal > ( ) ) ;
@@ -1343,6 +1344,7 @@ class TerminalMessagePeek extends Disposable implements IPeekOutputRenderer {
1343
1344
1344
1345
private clear ( ) {
1345
1346
this . outputDataListener . clear ( ) ;
1347
+ this . xtermLayoutDelayer . cancel ( ) ;
1346
1348
this . terminal . clear ( ) ;
1347
1349
}
1348
1350
@@ -1359,10 +1361,12 @@ class TerminalMessagePeek extends Disposable implements IPeekOutputRenderer {
1359
1361
height = this . dimensions ?. height ?? this . container . clientHeight
1360
1362
) {
1361
1363
width -= 10 + 20 ; // scrollbar width + margin
1362
- const scaled = getXtermScaledDimensions ( xterm . getFont ( ) , width , height ) ;
1363
- if ( scaled ) {
1364
- xterm . resize ( scaled . cols , scaled . rows ) ;
1365
- }
1364
+ this . xtermLayoutDelayer . trigger ( ( ) => {
1365
+ const scaled = getXtermScaledDimensions ( xterm . getFont ( ) , width , height ) ;
1366
+ if ( scaled ) {
1367
+ xterm . resize ( scaled . cols , scaled . rows ) ;
1368
+ }
1369
+ } ) ;
1366
1370
}
1367
1371
}
1368
1372
0 commit comments