microsoft / microsoft/vscode-cpptools

includePath doesn't work but when I forceInclude all intelsense error are gone

Aperta
#13,445 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Feature: Configuration Language Service
Lingua principale
TypeScript
Stelle
6.2k
Fork
1.7k
Merge medio
14h 46m
PR unite (30g)
61

Descrizione

Environment
  • OS and Version: Fedora 41
  • VS Code Version: c++
  • C/C++ Extension Version: latest
  • If using SSH remote, specify OS of remote machine:
Bug Summary and Steps to Reproduce

Bug Summary:

Image
this is the error

    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/bpf/**",
                "${workspaceFolder}/bpf/include"
            ],
            "forcedInclude": [
                // "${workspaceFolder}/bpf/include/type_mapper.h"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c17",
            "cppStandard": "c++98",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}

the errors goes away only if I use forceInclude

  "forcedInclude": [
                "${workspaceFolder}/bpf/include/type_mapper.h"
            ],

why I have to forceInclude there is a lot of projects & a lot of files it's not possible to force include each and every file.
Steps to reproduce:

install fedora 41 vs code & c++ extension
repo: https://github.com/cilium/tetragon

Expected behavior:
there should be 0 intelsense errors

Configuration and Logs
c_cpp_properties.json


{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/bpf/**",
                "${workspaceFolder}/bpf/include"
            ],
            "forcedInclude": [
                // "${workspaceFolder}/bpf/include/type_mapper.h"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c17",
            "cppStandard": "c++98",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}



C/C++: Log Diagonstics
-------- Diagnostics - 4/2/2025, 1:49:50 AM
Version: 1.23.6
Current Configuration:
{
    "name": "Linux",
    "includePath": [
        "/home/malvee/code/tetragon/bpf/**",
        "/home/malvee/code/tetragon/bpf/include"
    ],
    "forcedInclude": [],
    "defines": [],
    "compilerPath": "/usr/bin/gcc",
    "cStandard": "c17",
    "cppStandard": "c++98",
    "intelliSenseMode": "linux-gcc-x64",
    "compilerPathIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": true,
    "compilerPathInCppPropertiesJson": "/usr/bin/gcc",
    "mergeConfigurations": false,
    "browse": {
        "path": [
            "/home/malvee/code/tetragon/bpf/**",
            "/home/malvee/code/tetragon/bpf/include",
            "${workspaceFolder}"
        ],
        "limitSymbolsToIncludedHeaders": true
    }
}
Modified Settings:
{
    "C_Cpp.errorSquiggles": "enabled",
    "C_Cpp.default.compilerPath": "/usr/bin/gcc"
}
Additional Tracked Settings:
{
    "editorTabSize": 2,
    "editorInsertSpaces": true,
    "editorAutoClosingBrackets": "languageDefined",
    "filesEncoding": "utf8",
    "filesAssociations": {
        "*.css": "tailwindcss"
    },
    "filesExclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/.DS_Store": true,
        "**/Thumbs.db": true
    },
    "filesAutoSaveAfterDelay": false,
    "editorInlayHintsEnabled": true,
    "editorParameterHintsEnabled": true,
    "searchExclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.code-search": true
    },
    "workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.23.6.0
Current database path: /home/malvee/.cache/vscode-cpptools/584948c031d850a2bd45203b3ed0aa43/.browse.VC.db
Translation Unit Mappings:
[ /home/malvee/code/tetragon/bpf/process/bpf_enforcer.c - source TU]:
    /home/malvee/code/tetragon/bpf/process/bpf_enforcer.h
Translation Unit Configurations:
[ /home/malvee/code/tetragon/bpf/process/bpf_enforcer.c ]
    Process ID: 83170
    Memory Usage: 18 MB
    Compiler Path: /usr/bin/gcc
    Includes:
        /home/malvee/code/tetragon/bpf/include
        /home/malvee/code/tetragon/bpf/lib
        /home/malvee/code/tetragon/bpf/libbpf
    System Includes:
        /usr/lib/gcc/x86_64-redhat-linux/14/include
        /usr/local/include
        /usr/include
    Standard Version: c17
    IntelliSense Mode: linux-gcc-x64
    Other Flags:
        --gcc
        --gnu_version=140201
Total Memory Usage: 18 MB

------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 24382


Other Extensions

No response

Additional context

No response

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dalla configurazione di c_cpp_properties.json e dalla diagnostica per bpf/process/bpf_enforcer.c, quindi esamina come includePath e forcedInclude vengono applicati a questa unità di traduzione. Confronta gli include individuati con bpf/include/type_mapper.h e riproduci il problema nel repository cilium/tetragon su Fedora 41. Il lavoro è completato quando gli errori IntelliSense segnalati sono risolti senza forzare ogni header.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
developer-experience, tooling
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.