mirror of
https://github.com/microsoft/vscode.git
synced 2026-02-04 01:44:44 -06:00
parent
359c2ec968
commit
fc24d27700
@ -64,6 +64,7 @@ export const enum TerminalSettingId {
|
||||
FontWeight = 'terminal.integrated.fontWeight',
|
||||
FontWeightBold = 'terminal.integrated.fontWeightBold',
|
||||
CursorBlinking = 'terminal.integrated.cursorBlinking',
|
||||
TextBlinking = 'terminal.integrated.textBlinking',
|
||||
CursorStyle = 'terminal.integrated.cursorStyle',
|
||||
CursorStyleInactive = 'terminal.integrated.cursorStyleInactive',
|
||||
CursorWidth = 'terminal.integrated.cursorWidth',
|
||||
|
||||
@ -52,6 +52,10 @@ const enum RenderConstants {
|
||||
SmoothScrollDuration = 125
|
||||
}
|
||||
|
||||
const enum TextBlinkConstants {
|
||||
IntervalDuration = 600
|
||||
}
|
||||
|
||||
|
||||
function getFullBufferLineAsString(lineIndex: number, buffer: IBuffer): { lineData: string | undefined; lineIndex: number } {
|
||||
let line = buffer.getLine(lineIndex);
|
||||
@ -229,6 +233,7 @@ export class XtermTerminal extends Disposable implements IXtermTerminal, IDetach
|
||||
minimumContrastRatio: config.minimumContrastRatio,
|
||||
tabStopWidth: config.tabStopWidth,
|
||||
cursorBlink: config.cursorBlinking,
|
||||
blinkIntervalDuration: config.textBlinking ? TextBlinkConstants.IntervalDuration : 0,
|
||||
cursorStyle: vscodeToXtermCursorStyle<'cursorStyle'>(config.cursorStyle),
|
||||
cursorInactiveStyle: vscodeToXtermCursorStyle(config.cursorStyleInactive),
|
||||
cursorWidth: config.cursorWidth,
|
||||
@ -526,6 +531,7 @@ export class XtermTerminal extends Disposable implements IXtermTerminal, IDetach
|
||||
const config = this._terminalConfigurationService.config;
|
||||
this.raw.options.altClickMovesCursor = config.altClickMovesCursor;
|
||||
this._setCursorBlink(config.cursorBlinking);
|
||||
this._setTextBlinking(config.textBlinking);
|
||||
this._setCursorStyle(config.cursorStyle);
|
||||
this._setCursorStyleInactive(config.cursorStyleInactive);
|
||||
this._setCursorWidth(config.cursorWidth);
|
||||
@ -792,6 +798,14 @@ export class XtermTerminal extends Disposable implements IXtermTerminal, IDetach
|
||||
}
|
||||
}
|
||||
|
||||
private _setTextBlinking(enabled: boolean): void {
|
||||
const blinkIntervalDuration = enabled ? TextBlinkConstants.IntervalDuration : 0;
|
||||
const options = this.raw.options;
|
||||
if (options.blinkIntervalDuration !== blinkIntervalDuration) {
|
||||
options.blinkIntervalDuration = blinkIntervalDuration;
|
||||
}
|
||||
}
|
||||
|
||||
private _setCursorStyle(style: ITerminalConfiguration['cursorStyle']): void {
|
||||
const mapped = vscodeToXtermCursorStyle<'cursorStyle'>(style);
|
||||
if (this.raw.options.cursorStyle !== mapped) {
|
||||
|
||||
@ -146,6 +146,7 @@ export interface ITerminalConfiguration {
|
||||
rightClickBehavior: 'default' | 'copyPaste' | 'paste' | 'selectWord' | 'nothing';
|
||||
middleClickBehavior: 'default' | 'paste';
|
||||
cursorBlinking: boolean;
|
||||
textBlinking: boolean;
|
||||
cursorStyle: 'block' | 'underline' | 'line';
|
||||
cursorStyleInactive: 'outline' | 'block' | 'underline' | 'line' | 'none';
|
||||
cursorWidth: number;
|
||||
|
||||
@ -288,6 +288,11 @@ const terminalConfiguration: IStringDictionary<IConfigurationPropertySchema> = {
|
||||
type: 'boolean',
|
||||
default: false
|
||||
},
|
||||
[TerminalSettingId.TextBlinking]: {
|
||||
description: localize('terminal.integrated.textBlinking', "Controls whether text blinking is enabled in the terminal."),
|
||||
type: 'boolean',
|
||||
default: false
|
||||
},
|
||||
[TerminalSettingId.CursorStyle]: {
|
||||
description: localize('terminal.integrated.cursorStyle', "Controls the style of terminal cursor when the terminal is focused."),
|
||||
enum: ['block', 'line', 'underline'],
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user