How to make SDK source files accessible via Go To Definition

I am using the WizIO raspberry pico framework from github and it works very well overall. One problem I encounter is that the SDK source files, which are available when stepping in in the debugger, are not available for the Go To Definition link. More details here Please allow to browse the SDK source code. · Issue #68 · Wiz-IO/wizio-pico · GitHub

Any idea how to make the SDK source files, which are available locally at C:\Users\USER_NAME.platformio\packages\framework-wizio-pico , recognize by intellisense? What platformio file controls that?

Just as in Enable better IntelliSense in STM32Cube framework by adding Src path to search path · Issue #449 · platformio/platform-ststm32 · GitHub, the source directories need to be added in the CPPPATH by the platform’s builder code.

For example, the function gpio_set_function() you reference in the issue is in SDK/hardware/gpio.c, but this is not added to the CPPPATH – just the <sdk>/include folder.

https://github.com/Wiz-IO/wizio-pico/blob/98c6b0cb71366bae0353ab60e65bf8f2291a0d61/builder/frameworks/common.py#L112-L119

If just locally modify this file (for me, at C:\Users\<user>\.platformio\platforms\wizio-pico\builder\frameworks\common.py) to add

            join( env.framework_dir, env.sdk, "hardware"),

as the last element and rebuild my IntellISense (Ctrl+Shift+P → Rebuild IntelliSense), I can use the “Go To Definition” and howevering as usual.

In the .vscode/c_cpp_properties.json you should also then see that the path has been added in the “browse” section.

In short: This is not an issue of the PlatformIO core, this is an issue in the wizio-pico platform implementation.

Of course there might still be more paths which are not included, in which implementations are stored which you can not “Go To Definition” to because they’re equally not in the CPPPATH.

Ah, the author has already found out the same thing at Please allow to browse the SDK source code. · Issue #68 · Wiz-IO/wizio-pico · GitHub, so my post was redundant…

Not really, and it is greatly appreciated. :wink:

I will try to propose this change to Wizio.