microsoft / vscode-cpptools

Official repository for the Microsoft C/C++ extension for VS Code.
Other
5.53k stars 1.56k forks source link

Outline missing some symbols if within an `extern "C"` block #12493

Open taotaoli opened 3 months ago

taotaoli commented 3 months ago

Environment

Bug Summary and Steps to Reproduce

Bug Summary: Outline miss some symbols if the test.h has macro define, if I delete the macro define "#ifdef __cplusplus" , all Symbols will show in the outline test.zip

Steps to reproduce:

  1. open test.h with VS Code
  2. not all symbols in outline

Expected behavior: show all symbols in outline Screenshot from 2024-07-22 16-31-55

Screenshot from 2024-07-22 16-32-23

Configuration and Logs

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c17",
            "cppStandard": "c++14",
            "intelliSenseMode": "linux-clang-x64"
        }
    ],
    "version": 4
}

Other Extensions

No response

Additional context

No response

Colengms commented 2 months ago

Hi @taotaoli . Thanks for reporting this. I can reproduce the issue. It seems to be related to use of extern "C", and not macros, per se.