Skip to content

Go to declaration always shows 2 files, relative and absolute paths #3288

Description

Type: LanguageService

Describe the bug

  • OS and Version: Ubuntu 14.04.5
  • VS Code Version: 1.24.1
  • C/C++ Extension Version:
  • Other extensions you installed (and if the issue persists after disabling them): yes
  • A clear and concise description of what the bug is.

The issue is that my workspace folders setting contains only the current dir "." and ctrl+p
open file using the relative path, BUT, the problems tab show the problems in the same file
but with the absolute path and when I click on a problem, it opens the same file twice.
1 with relative and 1 with absolute path.
It also happens with "goto declaration", it shows 2 files, 1 with relative, and with absolute path.
Is there a way to use only relative or absolute path?

Steps to Reproduce:

  1. Open file using ctrl+p
  2. Click on the of the problems in that file from the problems tab

Expected behavior

If the file already open, it should navigate from the problems tab to the open file

Screenshots

goto reference screen shot:
image

Activity

  1. idanemergi commented on Mar 19, 2019

    @idanemergi
    Author

    anyone? this is really frustrating...

  2. sean-mcmanus commented on Mar 19, 2019

    @sean-mcmanus
    Contributor

    This isn't an issue with our C/C++ extension is it? Can you file a VS Code bug at https://github.com/Microsoft/vscode? Who is outputting the absolute paths?

  3. bobbrow commented on Mar 20, 2019

    @bobbrow
    Contributor

    Sometimes this happens during a build task. Are you building your code when these two references appear, or just opening files wth ctl+p? If not, can you share your workspace folder settings? I'm not sure what exactly you mean when you say it contains only the current dir ".".

  4. idanemergi commented on Mar 20, 2019

    @idanemergi
    Author

    This isn't an issue with our C/C++ extension is it? Can you file a VS Code bug at https://github.com/Microsoft/vscode? Who is outputting the absolute paths?

    cpptools is my only extension which shows errors in the problems window with absolute path.
    for example, I have 'code spell checker' extension which always shows the relative path.
    And as I mentioned, it also happens with cpptools goto reference

    thanks for your help.

  5. idanemergi commented on Mar 20, 2019

    @idanemergi
    Author

    Sometimes this happens during a build task. Are you building your code when these two references appear, or just opening files wth ctl+p? If not, can you share your workspace folder settings? I'm not sure what exactly you mean when you say it contains only the current dir ".".

    this is my workspace setting file:
    {
    "folders": [
    {
    "path": "."
    }
    ],
    }

    I've only included the workspace folder, I've also tried replacing the "." with the absolute path.
    I build the project in a way that all the source code I need has a symbolic link in the workspace folder.
    cause I have a very big project and I didn't want IntelliSense to tag all of it.
    So my workspace contains the workspace file and a couple of symbolic links.

    thanks for your help.

  6. sean-mcmanus commented on Mar 20, 2019

    @sean-mcmanus
    Contributor

    I am not able to observe absolute paths coming from our extension. What errors are appearing the problem window exactly? Our IntelliSense errors and gcc problem matcher use workspace relative paths. I see Go to Declaration using relative paths as well.

    Does this problem occur with your particular setup or does it repro for a newly created folder? It sounds like the symlink may be the cause.

  7. idanemergi commented on Mar 20, 2019

    @idanemergi
    Author

    I am not able to observe absolute paths coming from our extension. What errors are appearing the problem window exactly? Our IntelliSense errors and gcc problem matcher use workspace relative paths. I see Go to Declaration using relative paths as well.

    Does this problem occur with your particular setup or does it repro for a newly created folder? It sounds like the symlink may be the cause.

    You are right, it seems to be the symbolic link causing that.
    I tried w/o them and the issue is gone.
    Is there a way to workaround it?

  8. sean-mcmanus commented on Mar 20, 2019

    @sean-mcmanus
    Contributor

    I don't know a workaround yet. It sounds like a bug. On Linux with a symlinked folder, I'm seeing errors getting shown for the symlink target, causing squiggles to not appear in the current file, and a different file to get opened when the erorr window is clicked (i.e. the symlink target) -- is that the same bug you're seeing? I don't understand how to repro the absolute path in the Go to Declaration.

  9. yatian-liu commented on Sep 5, 2019

    @yatian-liu

    I have also encountered similar issues, and I previously filed the issue in the vscode repo, which can be seen at this link. I think this may be helpful.

  10. 57 remaining items

  11. sean-mcmanus commented on Dec 19, 2025

    @sean-mcmanus
    Contributor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

Projects

  • Status
    Triage

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions