Change:
VSCode Version: 1.14.1 OS Version: macOS Sierra 10.12.5 Steps to Reproduce: : integrated terminal +click on the link file dialog appears with filename ! Expected behaviour: it opens link in a browser This is actually caused by settings. I was not aware of that when I created issue. Reproduces without extensions: Yes
Hmm, I can't reproduce, what is your default browser and what is the active program that shows up in the top-left of the screen when you have the save dialog focused?
my default browser is Safari. When I focus download dialog the active program remains . I also tried to write link in the editor and ALT+click works well there. Tried running Code using but I dont see any output in console when clicking on the link in terminal :( Is there any way to debug what is actually happening?
I'm guessing this is because I just defer to Electron to handle clicking an properly which for some reason isn't behaving in your case. The fix would probably be to explicitly handle opening of the URL at in the same way that the editor does it.
Seems like something different to work on. Shall I pick this up?
sounds good :+1:
Clicking links in the integrated terminal on Windows 7 works as expected. (Stable Code, latest Insiders) Have to reproduce on OS X, seems surprising that would be platform dependent...
If there is anything you need feel free to contact me.
Unfortunately I cannot reproduce on OS X Sierra either. I tried to code 1.14.1 as well as several insiders versions including a 1.15.0 from a week and a half ago. all of these will launch a browser, either Firefox or Safari. What is particularly suspicious is that you reference and your screenshot shows Alt + Click for the link pop-up. On my OS X set up it pops up as Cmd+Click as you assumed it should. Correct me if I am wrong, but Alt as a key should never be valid on OS X, the meta- key should be Command. You cannot set a key binding for the term link, but you can for the editor. I am wondering if there is something corrupted with your key bindings or workspace/user settings. Do you have an Insiders build installed? I would try to install one, it will use a totally separate configuration set up that will not change or conflict with your Code install. Also look at your key bindings, the meta- key should always be Command.
Your suggestion actually lead to solving my issue. I had in my user's settings the new Which apparently moved opening links to ALT key. This is described in : However opening link with ALT key results in download dialog. When I remove this setting both links from editor and terminal open as expected.
Full disclosure I am not a Mac user normally, though I do have an airbook with Sierra. I cannot use OS X directly I have to use VNC and Dragon for voice operation as I am disabled. This sometimes makes keyboard issues difficult to assess. What I am curious about is how the alt key would be different than Command ? in any event it's good you got it working. I assume this can be closed? Okay my stupidity Alt === Option key duh
When is set, alt+clicking should open the link, ctrl+click should do nothing. When it's not set, ctrl+click should open the link, alt+click should do nothing.
Ah, yes option is alt :-) Still I think when user uses ALT-click on link should open links from terminal and not download dialog. Should I update steps to reproduce of this issue or should I make a new one and close this one?
no this issue is fine
So I should still try and determine why the download link is opening, correct? Also , shouldn't the pop-up be "Option+ Click" as opposed to "Alt + Click" when on OS X?
Yes, we need to figure out why the download link is opening. Option and alt are the same key, typically both words are features on the key. We also use alt elsewhere.
I set "editor.multiCursorModifier": "ctrlCmd" on my OS X Sierra system: hover over a terminal linked, pop-up is "Alt + Click" do Alt+Click - no action (should launch link) The same behavior occurs on Windows according to discussion this should launch links on both platforms (a bug but slightly different than your problem , possibly related) Is it possible you have some key binding conflict? can you comment everything out and see what happens?
Tried to comment all my custom settings and keybindings, restart and the behaviour was same (download dialog opened). I also tried and download dialog is also opening. I updated steps to reproduce in the first post.
Thanks for trying that out. Good news , I can reproduce the problem ! In fact it does the same thing on Windows ! It will be much easier for me to debug this way and I think I have some ideas about what's going on. Stay tuned...
Your prior comment surmising that the default electron link handling might be an issue was spot on. The default chromium behavior for clicking on links with Alt is to save the link contents thus the save dialog - doesn't matter the platform. Have a working fix: I created a hypertext link handler and bypassed the default behavior in terminallinkhandler. I should be able to cleanup and post a PR by tomorrow afternoon in case you want to include in Sunday's build. Cheers
Addressed with PR

Discussion:
const baseLocalLinkClause = _platform === platform.Platform.Windows ? winLocalLinkClause : unixLocalLinkClause; // Append line and column number regex this._localLinkPattern = new RegExp(`${baseLocalLinkClause}(${lineAndColumnClause})`); <del> this._xterm.setHypertextLinkHandler(this._wrapLinkHandler(() => true)); </del> <ins> this._xterm.setHypertextLinkHandler(this._wrapLinkHandler(uri => { this._handleHypertextLink(uri); })); </ins> this._xterm.setHypertextValidationCallback((uri: string, element: HTMLElement, callback: (isValid: boolean) => void) => { this._validateWebLink(uri, element, callback); });

public registerLocalLinkHandler(): number { const wrappedHandler = this._wrapLinkHandler(url => { this._handleLocalLink(url); <del> return; </del> }); return this._xterm.registerLinkMatcher(this._localLinkRegex, wrappedHandler, {

private _wrapLinkHandler(handler: (uri: string) => boolean | void): XtermLinkMatcherHandler { return (event: MouseEvent, uri: string) => { <ins> // Prevent default electron link handling so Alt+Click mode works normally event.preventDefault(); </ins> // Require correct modifier on click if (!this._isLinkActivationModifierDown(event)) { <del> event.preventDefault(); </del> return false; } return handler(uri);

callback(true); } <ins> private _handleHypertextLink(url: string): void { let uri = Uri.parse(url); this._openerService.open(uri); } </ins> private _isLinkActivationModifierDown(event: MouseEvent): boolean { const editorConf = this._configurationService.getConfiguration<{ multiCursorModifier: 'ctrlCmd' | 'alt' }>('editor'); if (editorConf.multiCursorModifier === 'ctrlCmd') {