diff --git a/src/vs/workbench/parts/terminal/common/terminal.ts b/src/vs/workbench/parts/terminal/common/terminal.ts index 54cdb4900ed0eaf19697b7d91e8131655fa54453..df7b44be41dec984f766cd62bdbdf891224e8f01 100644 --- a/src/vs/workbench/parts/terminal/common/terminal.ts +++ b/src/vs/workbench/parts/terminal/common/terminal.ts @@ -58,8 +58,7 @@ export interface ITerminalConfiguration { setLocaleVariables: boolean, scrollback: number, commandsToSkipShell: string[], - cwd: string, - flowControl: boolean + cwd: string } }; } @@ -68,7 +67,6 @@ export interface ITerminalConfigHelper { getTheme(baseThemeId: string): string[]; getFont(): ITerminalFont; getFontLigaturesEnabled(): boolean; - getFlowControl(): boolean; getCursorBlink(): boolean; getRightClickCopyPaste(): boolean; getCommandsToSkipShell(): string[]; diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminal.contribution.ts b/src/vs/workbench/parts/terminal/electron-browser/terminal.contribution.ts index e903e19494129de70342874ac57189d08c004536..7434fed8b045c7796ad861922312437dae3a1bec 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminal.contribution.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminal.contribution.ts @@ -12,7 +12,7 @@ import nls = require('vs/nls'); import { Extensions, IConfigurationRegistry } from 'vs/platform/configuration/common/configurationRegistry'; import { GlobalQuickOpenAction } from 'vs/workbench/browser/parts/quickopen/quickopen.contribution'; import { ITerminalService, KEYBINDING_CONTEXT_TERMINAL_FOCUS, KEYBINDING_CONTEXT_TERMINAL_TEXT_SELECTED, TERMINAL_PANEL_ID, TERMINAL_DEFAULT_RIGHT_CLICK_COPY_PASTE, TerminalCursorStyle } from 'vs/workbench/parts/terminal/common/terminal'; -import { TERMINAL_DEFAULT_SHELL_LINUX, TERMINAL_DEFAULT_SHELL_OSX, TERMINAL_DEFAULT_SHELL_WINDOWS, TERMINAL_DEFAULT_FLOW_CONTROL } from 'vs/workbench/parts/terminal/electron-browser/terminal'; +import { TERMINAL_DEFAULT_SHELL_LINUX, TERMINAL_DEFAULT_SHELL_OSX, TERMINAL_DEFAULT_SHELL_WINDOWS } from 'vs/workbench/parts/terminal/electron-browser/terminal'; import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry'; import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; @@ -119,11 +119,6 @@ configurationRegistry.registerConfiguration({ 'type': 'number', 'default': 1000 }, - 'terminal.integrated.flowControl': { - 'description': nls.localize('terminal.integrated.flowControl', "Controls the whether the terminal emulator will use flow control in order to catch up with the shell process, the main effect of this is that ^C and other signals should be much more responsive when commands give lots of output. You should this disabled if you have custom ^S or ^Q keybindings that override the XOFF and XON signals used."), - 'type': 'boolean', - 'default': TERMINAL_DEFAULT_FLOW_CONTROL - }, 'terminal.integrated.setLocaleVariables': { 'description': nls.localize('terminal.integrated.setLocaleVariables', "Controls whether locale variables are set at startup of the terminal, this defaults to true on OS X, false on other platforms."), 'type': 'boolean', diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminal.ts b/src/vs/workbench/parts/terminal/electron-browser/terminal.ts index 40fe6b0ea128f25afc30f05716b7426f6e7ad283..e3d6eb37951b57144d12b8a9b28958e900ee52a1 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminal.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminal.ts @@ -5,7 +5,6 @@ 'use strict'; import * as os from 'os'; -import * as path from 'path'; import * as cp from 'child_process'; import platform = require('vs/base/common/platform'); import processes = require('vs/base/node/processes'); @@ -19,12 +18,6 @@ const powerShellPath = `${process.env.windir}\\${is64BitWindows ? 'Sysnative' : export const TERMINAL_DEFAULT_SHELL_WINDOWS = isAtLeastWindows10 ? powerShellPath : processes.getWindowsShell(); -// Terminal flow control is disabled if the shell is zsh since the popular oh-my-zsh configuration -// overrides the ^S and ^Q keybindings which are used for flow control. fish also overrides the -// keybindings. -// TODO #19474: This should be enabled for zsh when ~/.oh-my-zsh does not exist as well -export const TERMINAL_DEFAULT_FLOW_CONTROL = (typeof process.env.SHELL === 'string' && path.basename(process.env.SHELL) === 'bash'); - export interface ITerminalProcessFactory { create(env: { [key: string]: string }): cp.ChildProcess; } diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalConfigHelper.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalConfigHelper.ts index f9ee66c5a5037ee4b63510e6a38ad7d53a11c901..c62cdccdcf2aeb73ba5dc62b55fbe00bc30a94b4 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalConfigHelper.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalConfigHelper.ts @@ -137,11 +137,6 @@ export class TerminalConfigHelper implements ITerminalConfigHelper { return terminalConfig.terminal.integrated.fontLigatures; } - public getFlowControl(): boolean { - const terminalConfig = this._configurationService.getConfiguration(); - return terminalConfig.terminal.integrated.flowControl; - } - public getCursorBlink(): boolean { const terminalConfig = this._configurationService.getConfiguration(); return terminalConfig.terminal.integrated.cursorBlinking; diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts index 09260623ab211bf80d4a68c8979930e270200764..e0796789739336a1e24577391e5b64fca44cff3b 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts @@ -645,19 +645,12 @@ export class TerminalInstance implements ITerminalInstance { } public updateConfig(): void { - this._setFlowControl(this._configHelper.getFlowControl()); this._setCursorBlink(this._configHelper.getCursorBlink()); this._setCursorStyle(this._configHelper.getCursorStyle()); this._setCommandsToSkipShell(this._configHelper.getCommandsToSkipShell()); this._setScrollback(this._configHelper.getScrollback()); } - private _setFlowControl(flowControl: boolean): void { - if (this._xterm && this._xterm.getOption('useFlowControl') !== flowControl) { - this._xterm.setOption('useFlowControl', flowControl); - } - } - private _setCursorBlink(blink: boolean): void { if (this._xterm && this._xterm.getOption('cursorBlink') !== blink) { this._xterm.setOption('cursorBlink', blink);