From 443be92d9f11a02c69b9681e28a8c53fa6826b22 Mon Sep 17 00:00:00 2001 From: isidor Date: Fri, 19 Feb 2021 15:52:49 +0100 Subject: [PATCH] improve link hover in debug console fixes #116037 --- src/vs/workbench/contrib/debug/browser/linkDetector.ts | 6 ++++++ .../contrib/debug/browser/media/debug.contribution.css | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/contrib/debug/browser/linkDetector.ts b/src/vs/workbench/contrib/debug/browser/linkDetector.ts index 14ea88967ea..2a4bb867949 100644 --- a/src/vs/workbench/contrib/debug/browser/linkDetector.ts +++ b/src/vs/workbench/contrib/debug/browser/linkDetector.ts @@ -15,6 +15,7 @@ import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/ import { IPathService } from 'vs/workbench/services/path/common/pathService'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyCode } from 'vs/base/common/keyCodes'; +import { localize } from 'vs/nls'; const CONTROL_CODES = '\\u0000-\\u0020\\u007f-\\u009f'; const WEB_LINK_REGEX = new RegExp('(?:[a-zA-Z][a-zA-Z0-9+.-]{2,}:\\/\\/|data:|www\\.)[^\\s' + CONTROL_CODES + '"]{2,}[^\\s' + CONTROL_CODES + '"\')}\\],:;.!?]', 'ug'); @@ -170,6 +171,7 @@ export class LinkDetector { private decorateLink(link: HTMLElement, onClick: (preserveFocus: boolean) => void) { link.classList.add('link'); + link.title = platform.isMacintosh ? localize('fileLinkMac', "Cmd + click to follow link") : localize('fileLink', "Ctrl + click to follow link"); link.onmousemove = (event) => { link.classList.toggle('pointer', platform.isMacintosh ? event.metaKey : event.ctrlKey); }; link.onmouseleave = () => link.classList.remove('pointer'); link.onclick = (event) => { @@ -177,6 +179,10 @@ export class LinkDetector { if (!selection || selection.type === 'Range') { return; // do not navigate when user is selecting } + if (!(platform.isMacintosh ? event.metaKey : event.ctrlKey)) { + return; + } + event.preventDefault(); event.stopImmediatePropagation(); onClick(false); diff --git a/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css b/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css index 249207bf523..6c3e21f10c2 100644 --- a/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css +++ b/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css @@ -95,7 +95,7 @@ /* Links */ -.monaco-workbench .monaco-list-row .expression .value a.link { +.monaco-workbench .monaco-list-row .expression .value a.link:hover { text-decoration: underline; }