From cf03392bf338f228459dcfbd64c72a0a3f1f0a1f Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Fri, 5 May 2017 10:11:39 -0700 Subject: [PATCH] Fix terminal.integrated.rightClickCopyPaste on macOS Fixes #25844 --- .../parts/terminal/electron-browser/terminalInstance.ts | 2 +- .../parts/terminal/electron-browser/terminalPanel.ts | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts index 4c75ff54461..807ae0a089b 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts @@ -320,7 +320,7 @@ export class TerminalInstance implements ITerminalInstance { } public clearSelection(): void { - document.getSelection().empty(); + window.getSelection().empty(); } public dispose(): void { diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalPanel.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalPanel.ts index 2843926ae24..38fb99f450c 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalPanel.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalPanel.ts @@ -172,6 +172,15 @@ export class TerminalPanel extends Panel { } else { terminal.paste(); } + // Clear selection after all click event bubbling is finished on Mac to prevent + // right-click selecting a word which is seemed cannot be disabled. There is a + // flicker when pasting but this appears to give the best experience if the + // setting is enabled. + if (platform.isMacintosh) { + setTimeout(() => { + terminal.clearSelection(); + }, 0); + } this._cancelContextMenu = true; } }