Is it possible that VSCode code completion only offers those elements in the list that I have already used, but does not read the header files of glibc and the given environment? I use the Espressif plugin and I am surprised to find that, for example,
arg_print_syntax(stdout, (void *) &blink_args, "\n");
I want to call it, I press ctrl space after "arg" and it does not offer it, even though at the beginning of the file there is
#include "argtable3/argtable3.h"
If I type it in and recompile it, it offers it, but only that,
arg_print_glossary(stdout, (void *) &blink_args, "%-25s %s\n");
it does not offer it again until I type it in and compile it. The path to the esp-idf components libraries is set in c_cpp_properties.json:
"includePath": [
"${config:idf.espIdfPath}/components/**",
"${config:idf.espIdfPathWin}/components/**",
"${config:idf.espAdfPath}/components/**",
"${config:idf.espAdfPathWin}/components/**",
"${workspaceFolder}/**"
],
The eclipse plugin reads all the libraries accurately and offers them, but this vscode is not correct and it is very disappointing that the built-in "AI" is so deceptive, even if it is called intelliSense.
consolecomponent (contains argtable3 among others), and that you reran cmake, so it can update all the build stuff. that also touches files that vscode draws upon for intellisense.