Skip to content

c_cpp_properties.json: browse property path recursive search not working #4443

@DeadRabbits307

Description

@DeadRabbits307

Type: LanguageService
As described here an entry in browse/path like ${buildroot_root_dir}output/build/linux-4.15.16/drivers shall recursive search all subdirectories of drivers. But this is not the case. I have to add each subdir to get to the definition of an function like:

"env": {
        "buildroot_root_dir": "/home/xy/buildroot/buildroot-2018.02.5/"
    },
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "compilerPath": "${buildroot_root_dir}output/host/usr/bin/aarch64-linux-gcc",
            "cStandard": "c11",
            "intelliSenseMode": "gcc-x64",
            "forcedInclude": [
                "${buildroot_root_dir}output/build/linux-4.15.16/include/generated/autoconf.h"
            ],
            "browse": {
                "path": [
                    "${workspaceFolder}/../../my_second_proj",
                    "${buildroot_root_dir}output/build/linux-4.15.16/drivers/base",
                    "${buildroot_root_dir}output/build/linux-4.15.16/drivers/crypto",
                    ...],
                ],
                "limitSymbolsToIncludedHeaders": false,
                "databaseFilename": ""
            },
            "compileCommands": "${workspaceFolder}/compile_commands.json"
      }

Only

"browse": {
                "path": [
                    "${workspaceFolder}/../../my_second_proj",
                    "${buildroot_root_dir}output/build/linux-4.15.16/drivers"
                  ]
...

does not enable the "Got to Definition" to find functions in ${buildroot_root_dir}output/build/linux-4.15.16/drivers/base/platform.c for example.

Describe the bug

  • OS and Version: 4.19.45-1-MANJARO
  • VS Code Version: 1.34.0
  • C/C++ Extension Version: 0.24.0

Expected behavior

"browse": {
                "path": [
                    "${workspaceFolder}/../../my_second_proj",
                    "${buildroot_root_dir}output/build/linux-4.15.16/drivers",
...

should be enough to find ${buildroot_root_dir}output/build/linux-4.15.16/drivers/base/platform.c and any other file in /drivers or in any subdir in/drivers with the "Got to Definition".

Bug? Configuration issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions