Espressif ESP8266 was the first chip gained popularity for low cost easy Wi-Fi provisioning in arduino based solutions. Later people realised that the Wi-Fi chip itself has lot of resources and performance compared to arduino. So it can be used without arduino or any other controller. Only problem was the compiler and an IDE. After few year espressif launched ESP-IDF and then arduino folks get it linked to arduino ide via the IDF codes.
Now those who want to know about enquired about ESP-IDF, they provide gcc based tool chain which can be coupled with VS Code or eclipse. For both cases they provide enough tutorial pages describing installation and setup.
Here we discuss about the VSCode version only i.e. vscode extension for esp idf
The whole IDE runs via bunch of python tools idf.py, esptool.py as the entry point of all commands. The basic ide task are facilitated via CMake (for generating the build files for Make or Ninja) and the buildtool itself by default its ninja for vscode. So the default process is
idf.py–(generate new project)->CMake—(generate configuration for ninja/make)—>ninjafile/makefile completes build task
The VSCode doesnt detect incuded source files unless its added to the c_cpp_properties.json although its not required for build systems, the build goes fine without this.
NB: As the vscode version uses ninja so makefiles are useless, once i tried to edit a project via make file but didn’t worked , later realised its using ninja files only.