The check for include paths ending in '**' ran in sendCustomConfigurations,
after mergeConfigurations had already appended the includePath entries from
the user's c_cpp_properties.json to each configuration from the provider. A
trailing '**' is a supported way to recurse there, so the warning fired for
paths the provider never supplied.
Move the check ahead of that append so it only sees the provider's own
include paths.
Co-authored-by: Sean McManus <[email protected]>
"Run C/C++ File" builds the command with buildShellCommandLine and sends
it via sendText when the terminal has no shell integration. That path
quotes a program path containing spaces but never prepends the call
operator, so PowerShell evaluates the quoted path as a string literal and
echoes it instead of running the program.
The shell-integration path already handles this, so extract its PowerShell
detection into isPowerShellTerminal() and reuse it in the sendText path.
Closes#14583
Co-authored-by: Sean McManus <[email protected]>
Co-authored-by: Bob Brown <[email protected]>