microsoft / microsoft/vscode-cpptools

Duplicate entries in reference panel when using Windows junction

Open
#14,760 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
6.2k
Forks
1.7k
Avg merge
14h 46m
Merged PRs (30d)
61

Description

Environment
  • OS and Version: Windows 11 Enterprise 25H2
  • VS Code Version: 1.137.0
  • C/C++ Extension Version: 1.34.4
  • If using SSH remote, specify OS of remote machine: N/A
Bug Summary and Steps to Reproduce

Bug Summary:
To workaround the Windows file path limit, I created a directory junction C:\projects that maps to a lengthy directory. I opened my project through this junction directory in another IDE, which generated a compile_commands.json using this junction directory.

When I search for references with the C/C++ plugin, it will show entries for the file in the junction directory as well as via the real path. So, I'm seeing everything duplicated.

Steps to reproduce:

  1. Create a directory junction.
  2. Generate a compile_commands.json that uses this directory path.
  3. Load the folder in VSCode with C/C++ plugin (setup to use this compilation database).
  4. Search for a reference to something.

Expected behavior: Only one of the junction path or real path is shown. Not both.

Configuration and Logs
N/A
Other Extensions

No response

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with a Windows directory junction, a compile_commands.json using the junction path, and reference search in the C/C++ extension. Start by tracing how the extension reads compilation database paths and presents reference results; done means references reached through the junction and real path appear only once.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, typescript
Domain
operating-systems, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.