From a31b0617e241f5ccb92327d7556549e2aa05048c Mon Sep 17 00:00:00 2001 From: Megan Rogge Date: Fri, 15 Jan 2021 11:47:57 -0800 Subject: [PATCH] expose altClickMovesCursor as setting (#114429) * fix #101136 * Update src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts Co-authored-by: Daniel Imms Co-authored-by: Daniel Imms --- .../workbench/contrib/terminal/browser/terminalInstance.ts | 2 ++ src/vs/workbench/contrib/terminal/common/terminal.ts | 1 + .../contrib/terminal/common/terminalConfiguration.ts | 5 +++++ 3 files changed, 8 insertions(+) diff --git a/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts b/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts index 59eee00f4d9..13ee3d9c464 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts @@ -396,6 +396,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance { const editorOptions = this._configurationService.getValue('editor'); const xterm = new Terminal({ + altClickMovesCursor: config.altClickMovesCursor, scrollback: config.scrollback, theme: this._getXtermTheme(), drawBoldTextInBrightColors: config.drawBoldTextInBrightColors, @@ -1286,6 +1287,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance { public updateConfig(): void { const config = this._configHelper.config; + this._safeSetOption('altClickMovesCursor', config.altClickMovesCursor); this._setCursorBlink(config.cursorBlinking); this._setCursorStyle(config.cursorStyle); this._setCursorWidth(config.cursorWidth); diff --git a/src/vs/workbench/contrib/terminal/common/terminal.ts b/src/vs/workbench/contrib/terminal/common/terminal.ts index 40e4f9f8963..845d0715b65 100644 --- a/src/vs/workbench/contrib/terminal/common/terminal.ts +++ b/src/vs/workbench/contrib/terminal/common/terminal.ts @@ -91,6 +91,7 @@ export interface ITerminalConfiguration { osx: string[]; windows: string[]; }; + altClickMovesCursor: boolean; macOptionIsMeta: boolean; macOptionClickForcesSelection: boolean; rendererType: 'auto' | 'canvas' | 'dom' | 'experimentalWebgl'; diff --git a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts index 63dbeb77153..3a949b2e49d 100644 --- a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts +++ b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts @@ -90,6 +90,11 @@ export const terminalConfiguration: IConfigurationNode = { type: 'boolean', default: false }, + 'terminal.integrated.altClickMovesCursor': { + description: localize('terminal.integrated.altClickMovesCursor', "If enabled, alt/option + click will move the prompt cursor to position underneath the mouse. This may not work reliably depending on your shell."), + type: 'boolean', + default: true + }, 'terminal.integrated.copyOnSelection': { description: localize('terminal.integrated.copyOnSelection', "Controls whether text selected in the terminal will be copied to the clipboard."), type: 'boolean', -- GitLab