Defines and includes are not parsed from compilerPath or compilerArgs, in c_cpp_properties.
Args are stripped from compilerPath. This would seem to imply a simple way to configure the extension would be to paste in a fully populated compilation command line to compilerPath.. However, args gathered from the command line are used as args only. If they contain defines and/or includes, the extension does not use them.
Args from compilerPath are handled the same way as compilerArgs. So, handling defines and includes in compilerArgs would seem to handle both cases. This parsing is already being done in handling of compile_commands.json.
Defines and includes are not parsed from compilerPath or compilerArgs, in c_cpp_properties.
Args are stripped from compilerPath. This would seem to imply a simple way to configure the extension would be to paste in a fully populated compilation command line to compilerPath.. However, args gathered from the command line are used as args only. If they contain defines and/or includes, the extension does not use them.
Args from compilerPath are handled the same way as compilerArgs. So, handling defines and includes in compilerArgs would seem to handle both cases. This parsing is already being done in handling of compile_commands.json.