Why manually adjust “c_cpp_properties.json”
That should never be done, since the file is created automatically by PlatformIO based on the information it has about the project configuration. Will be overwritten as soon as a Intellisense rebuild occurrs (or is executed manually via Ctrl/Command + Shift + P → Rebuild IntelliSense).
Not reproducable. If I recreate your example above, build it, and rebuild the intellisense, there is src/
in the include include path.
"browse": {
"limitSymbolsToIncludedHeaders": true,
"path": [
"C:/Users/Max/Documents/PlatformIO/Projects/lib_path_repro/include",
"C:/Users/Max/Documents/PlatformIO/Projects/lib_path_repro/src",
"C:/Users/Max/Documents/PlatformIO/Projects/lib_path_repro/lib/WiFiConfig/src",
"C:/Users/Max/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/config",
..