i’ve just moved to platformio from the eclipse based ides, i noticed on using ‘ctrl+click’ to go the definition, i got redirected to the function prototype present in the header and not the actual source file.
was able to workaround by changing the “limitSymbolsToIncludedHeaders”: true, to false in the 'c_cpp_properties.json" file and adding the location for the source files in the list of paths.
which works as i now get redirected to the definition in the concerned c file.
however, it has to be done every time i open VSCode and doesn’t work sometimes. is there a more accurate was to achieving this ? i read a discussion about build flags but couldn’t seem to work with it with my limited knowledge of python
The normal symbol browse paths are added via the Python code of the platform (e.g. ststm32, all the CPPPATH additions e.g. here). If you want these standard paths to be modified so that VSCode finds the implementation, you can open an issue (Issues · platformio/platform-ststm32 · GitHub).
Still, build_flags may be able to be used in a build_flags = -I <path> fashion to further add to the explorable paths.
Add -I "$PROJECT_CORE_DIR/packages/framework-stm32cube/f4/Drivers/STM32F4xx_HAL_Driver/Src" to your build_flags to add that particular folder, and then Ctrl+click / F12 should take you to the definition, not the declaration.
Thanks a lot.
A quick restart and it works. i presume using python commands and reading more syntax would help me grow beyond my scope currently only limited to electronics.