-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
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.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status