Change:
Type: <bBug</bWhen trying to Cmd+click a file or line number in the terminal, the link is broken by spaces. It seems this should have been fixed by , but I'm still unable to follow terminal links: <img width="1209" alt="image" src=""This still occurs with all extensions disabled. If I remove the space character from terminal.integrated.wordSeparators I can link to files, but line numbers don't link correctly since the selected text isn't in the correct <path:<line numberformat. I'm not sure if this is a legitimate bug or I'm doing something dumb, but I've tried searching and haven't found others with this issue since the previously linked PR was merged. Thanks! VS Code version: Code 1.85.1 (Universal) (, 2023-12-13T09:48:06.308Z) OS version: Darwin x64 22.5.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (59)</summaryExtensionVersion ------ vscode-css-formatter1.0.2 rivescript0.0.1 code-gnu-global0.2.2 doxdocgen1.4.0 comment-anchors1.10.3 matlab3.0.2 copilot1.143.0 copilot-chat0.11.1 Python-autopep81.0.2 latex-workshop9.16.1 vscode-edit-csv0.8.3 better-cpp-syntax1.17.2 auto-build2.1.51 cortex-debug1.12.1 debug-tracker-vscode0.0.15 memory-view0.0.25 peripheral-viewer1.4.6 rtos-views0.0.7 rainbow-csv3.9.0 nc-gcode0.13.0 isort2023.10.1 python2023.22.1 vscode-pylance2023.12.1 jupyter2023.11. jupyter-keymap1.1.2 jupyter-renderers1.0.17 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 remote-containers0.327.0 remote-ssh0.107.1 remote-ssh-edit0.86.0 remote-wsl0.81.8 vscode-remote-extensionpack0.25.0 cmake-tools1.16.32 cpptools1.19.1 cpptools-extension-pack1.3.0 makefile-tools0.8.22 remote-explorer0.4.1 remote-server1.5.0 vscode-serial-monitor0.11.0 back-n-forth3.1.1 autodocstring0.6.1 indent-rainbow8.3.1 platformio-ide3.3.2 awesome-vhdl0.0.1 rewrap1.16.3 code-spell-checker3.0.1 html-preview-vscode0.2.5 language-pde1.4.6 gcode0.4.0 cmake0.0.17 vhdl-formatter1.0.5 intellicode-api-usage-examples0.2.8 vscodeintellicode1.2.30 vscode-arduino0.6.0 clang-format1.9.0 cursor-align1.1.2 markdown-all-in-one3.5.1 material-theme3.16.2 (5 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
new updates only come out every few weeks
I assume you're referring to ? It was actually merged December 21, 2022. Which I can see is confusing given today's date. edit: Had wrong PR number
ahhh, my bad the files (and folder) that that commit references is no longer in the same place (deleted?)
Interesting, I didn't look at the latest code. It looks like it's been moved: The regex in do seem to correctly match my terminal output when tested in a regex tester, so quite confusing.
What appears to be happening here is that it never enters the block that checks because is verified as a valid link.
Unless you were on a remote or Codespace in which case this is expected as disables them in remotes by default.
Situation will be improved with /duplicate
I'm having the same problem. My misparsed path is is an alias for I'm on 1.89.1. Is the milestone March 2024 in which was included available in the stable distribution?

Discussion:
uri?: URI; /** <ins> * An optional full line to be used for context when resolving. */ contextLine?: string; /** </ins> * The location or selection range of the link. */ selection?: ITextEditorSelection;

import { QueryBuilder } from 'vs/workbench/services/search/common/queryBuilder'; import { ISearchService } from 'vs/workbench/services/search/common/search'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; <del> import { getLinkSuffix } from 'vs/workbench/contrib/terminalContrib/links/browser/terminalLinkParsing'; </del> <ins> import { detectLinks, getLinkSuffix } from 'vs/workbench/contrib/terminalContrib/links/browser/terminalLinkParsing'; </ins> import { ITerminalLogService } from 'vs/platform/terminal/common/terminal'; export class TerminalLocalFileLinkOpener implements ITerminalLinkOpener {

async open(link: ITerminalSimpleLink): Promise<void> { const osPath = osPathModule(this._getOS()); const pathSeparator = osPath.sep; // Remove file:/// and any leading ./ or ../ since quick access doesn't understand that format let text = link.text.replace(/^file:///?/, ''); text = osPath.normalize(text).replace(/^(.+[/])+/, ''); <ins> // Try extract any trailing line and column numbers by matching the text against parsed // links. This will give a search link `foo` on a line like `"foo", line 10` to open the // quick pick with `foo:10` as the contents. if (link.contextLine) { const parsedLinks = detectLinks(link.contextLine, this._getOS()); const matchingParsedLink = parsedLinks.find(parsedLink => parsedLink.suffix && link.text === parsedLink.path.text); if (matchingParsedLink) { if (matchingParsedLink.suffix?.row !== undefined) { text += `:${matchingParsedLink.suffix.row}`; if (matchingParsedLink.suffix?.col !== undefined) { text += `:${matchingParsedLink.suffix.col}`; } } } } </ins> // Remove `:<one or more non number characters>` from the end of the link. // Examples: // - Ruby stack traces: <link>:in ...

links.push({ text: word.text, bufferRange, <del> type: TerminalBuiltinLinkType.Search </del> <ins> type: TerminalBuiltinLinkType.Search, contextLine: text </ins> }); }