{ // clangd is the language server; the cpptools engine would parse every file // a second time and disagree, since nothing tells it about a cross // compiler. Which database to read is in .clangd. "C_Cpp.intelliSenseEngine": "disabled", // --query-driver lets clangd ask the cross compiler for its own system // includes and target; without it every standard header is missing. "clangd.arguments": [ "--query-driver=**avr-g++*", "--header-insertion=never" ], // The presets are the build interface; the toolchain file inside the // libavr submodule is the one place the compiler is chosen. The submodule // carries no local/toolchain for it to discover, so the prefix is named // here, for the window that opens this folder. "cmake.useCMakePresets": "always", "cmake.environment": { "LIBAVR_TOOLCHAIN": "D:/dev/libavr/local/toolchain/avr-gcc-16.1.0-mingw" }, "cmake.configureOnOpen": true, "cmake.options.statusBarVisibility": "compact", "files.watcherExclude": { "**/build/**": true, "**/libavr/**": true }, "files.associations": { ".clangd": "yaml", ".clang-format": "yaml" } }