microsoft / microsoft/vscode-cpptools

Extension does not correctly handle WSL symlinks

Open
#2,140 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Type: LanguageService

Describe the bug

  • OS and Version: 1803
  • WSL version: Ubuntu 18.04
  • VS Code Version: 1.24.1
  • C/C++ Extension Version: 0.17.4
  • Other extensions you installed (and if the issue persists after disabling them):
  • A clear and concise description of what the bug is.
    I want to include LLVM in a project but vscode-cpptools seems to fail to intellisense.

To Reproduce
Steps to reproduce the behavior:
c_cpp_prperties.json

{
    "configurations": [
        {
            "name": "WSL",
            "intelliSenseMode": "clang-x64",
            "compilerPath": "/usr/bin/gcc",
            "includePath": [
                "${workspaceFolder}",
                "/mnt/c/libraries/lib1/include",
                "C:/libraries/lib2/include"
            ],
            "defines": [],
            "browse": {
                "path": [
                    "${workspaceFolder}",
                    "/mnt/c/libraries"
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            },
            "cStandard": "c11",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

edit an C/C++ source code file and try to type this

#include <llvm/IR/Module.h>

Expected behavior
show no error read lines and make correct intellisense

Screenshots

default

Additional context
it seems that the extension do find the LLVM folder but somehow it cannot recognize it. I tried to make a soft link named "llvm" for "llvm-6.0" in /usr/include/ but it is useless.

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 report using the supplied c_cpp_properties.json, the WSL configuration, and the #include <llvm/IR/Module.h> example. Start by examining how the extension handles the listed Windows and WSL paths and the /usr/include/llvm symlink; done means LLVM headers resolve without errors and IntelliSense works correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux, vscode
Domain
devtools, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.