未验证 提交 2042a0e4 编写于 作者: A Alex Ross 提交者: GitHub

Add new terminal link text for tunnels (#114033)

Fixes microsoft/vscode-internalbacklog#1709
上级 174259ee
......@@ -27,6 +27,7 @@ import { XTermCore } from 'vs/workbench/contrib/terminal/browser/xterm-private';
import { TerminalHover, ILinkHoverTargetOptions } from 'vs/workbench/contrib/terminal/browser/widgets/terminalHoverWidget';
import { TerminalLink } from 'vs/workbench/contrib/terminal/browser/links/terminalLink';
import { TerminalExternalLinkProviderAdapter } from 'vs/workbench/contrib/terminal/browser/links/terminalExternalLinkProviderAdapter';
import { ITunnelService } from 'vs/platform/remote/common/tunnel';
export type XtermLinkMatcherHandler = (event: MouseEvent | undefined, link: string) => Promise<void>;
export type XtermLinkMatcherValidationCallback = (uri: string, callback: (isValid: boolean) => void) => void;
......@@ -53,7 +54,8 @@ export class TerminalLinkManager extends DisposableStore {
@IEditorService private readonly _editorService: IEditorService,
@IConfigurationService private readonly _configurationService: IConfigurationService,
@IFileService private readonly _fileService: IFileService,
@IInstantiationService private readonly _instantiationService: IInstantiationService
@IInstantiationService private readonly _instantiationService: IInstantiationService,
@ITunnelService private readonly _tunnelService: ITunnelService
) {
super();
......@@ -229,6 +231,13 @@ export class TerminalLinkManager extends DisposableStore {
}
}
let fallbackLabel: string;
if (this._tunnelService.canTunnel(URI.parse(uri))) {
fallbackLabel = nls.localize('followForwardedLink', "Follow Link using Forwarded Port");
} else {
fallbackLabel = nls.localize('followLink', "Follow Link");
}
const markdown = new MarkdownString('', true);
// Escapes markdown in label & uri
if (label) {
......@@ -240,7 +249,7 @@ export class TerminalLinkManager extends DisposableStore {
markdown.value = '';
}
label = label || nls.localize('followLink', "Follow Link");
label = label || fallbackLabel;
// Use the label when uri is '' so the link displays correctly
uri = uri || label;
// Although if there is a space in the uri, just replace it completely
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册