Environment
- OS and Version: Debian GNU/Linux 12 (bookworm)
- VS Code Version: 1.103.0
- C/C++ Extension Version: 1.26.3
- If using SSH remote, specify OS of remote machine: Debian GNU/Linux 10 (buster)
I am using Debian 12 and attach VS Code to a container running Debian 10 (using Dev Containers extension)
Bug Summary and Steps to Reproduce
Bug Summary:
When using VS Code Makefile Tools (v0.12.7) as the configuration provider for C++ Tools, running Makefile: Clean Configure works as expected with C++ Tools v1.25.3. The extension correctly receives and applies the configuration provided by Makefile Tools:
Sending configuration for file <filePath> -----------------------------------
Sending configuration for file <filePath> -----------------------------------
Sending configuration for file <filePath> -----------------------------------
However, starting from C++ Tools v1.26.3, although the configuration messages are still sent, they are followed by a large number of warnings:
Configuration for file <filePath> was not found. CppTools will set a default configuration
Configuration for file <filePath> was not found. CppTools will set a default configuration
Configuration for file <filePath> was not found. CppTools will set a default configuration
In this state, C++ tools falls back to using the compiler in /usr/lib/gcc and only sets the project’s root folder as an include path, ignoring the include paths and defines provided by Makefile Tools.
Switching to the pre-release version of Makefile Tools and C++ Tools does not resolve the issue. However, the <filePath> not found error is not showing up when pre release version of C++ Tools is installed (1.27.0)
Expected Behavior
C++ Tools should honor the configuration provided by Makefile Tools, as it did in v1.25.3, ensuring all required include paths and defines are applied.
Configuration and Logs
I do not use c_cpp_properties.json, but a single .code-workspace file.
{
"settings": {
"editor.tabSize": 2,
"editor.detectIndentation": false,
"editor.insertSpaces": false,
"makefile.configureOnOpen": false,
"makefile.configureOnEdit": false,
"makefile.makeDirectory": "${workspaceFolder}/Build",
"makefile.extensionLog": "${workspaceFolder}/Output/makefile.log",
"C_Cpp.default.configurationProvider": "ms-vscode.makefile-tools",
"C_Cpp.default.mergeConfigurations": true,
"makefile.configureAfterCommand": false,
"makefile.alwaysPreConfigure": true,
"makefile.preConfigureScript": "${workspaceFolder}/../../Scripts/config_vscode_intellisense.sh",
"makefile.postConfigureScript": "${workspaceFolder}/../../Scripts/post_config.sh",
"makefile.ignoreDirectoryCommands": false,
"makefile.configurations": ["<MY CONFIGURATIONS HERE>"],
"C_Cpp.errorSquiggles": "enabled",
},
"folders": ["<MY FOLDERS HERE>"]
}
Other Extensions
Makefile Tools (v0.12.7)
Dev Containers (v0.422.1)
Additional context
It is a large commercial project I am working on, so I am unable to provide thorough details. However, I am willing to try some things or potentially create a simple reproducible scenario.
Environment
I am using Debian 12 and attach VS Code to a container running Debian 10 (using Dev Containers extension)
Bug Summary and Steps to Reproduce
Bug Summary:
When using VS Code Makefile Tools (v0.12.7) as the configuration provider for C++ Tools, running Makefile: Clean Configure works as expected with C++ Tools v1.25.3. The extension correctly receives and applies the configuration provided by Makefile Tools:
However, starting from C++ Tools v1.26.3, although the configuration messages are still sent, they are followed by a large number of warnings:
In this state, C++ tools falls back to using the compiler in
/usr/lib/gccand only sets the project’s root folder as an include path, ignoring the include paths and defines provided by Makefile Tools.Switching to the pre-release version of Makefile Tools and C++ Tools does not resolve the issue. However, the
<filePath> not found erroris not showing up when pre release version of C++ Tools is installed (1.27.0)Expected Behavior
C++ Tools should honor the configuration provided by Makefile Tools, as it did in v1.25.3, ensuring all required include paths and defines are applied.
Configuration and Logs
Other Extensions
Makefile Tools (v0.12.7)
Dev Containers (v0.422.1)
Additional context
It is a large commercial project I am working on, so I am unable to provide thorough details. However, I am willing to try some things or potentially create a simple reproducible scenario.