vscode: point IntelliSense at clang instead of MSVC (#564)
* vscode: point IntelliSense at clang instead of MSVC KYTY_SYSV_ABI expands to __attribute__((sysv_abi)) with no MSVC fallback, which is correct for a project that rejects cl.exe at configure time. Nothing told the C/C++ extension that, so it fell back to windows-msvc-x64 and flagged every guest-facing function in the tree with "__attribute__ is not a type name". Set the IntelliSense mode, compiler path and C++ standard to match the compiler the build actually uses, and export a compile database for it to read. * vscode: resolve the clang toolchain through the VS developer environment The IntelliSense settings named a specific Visual Studio install, so the compiler and Ninja only resolved on machines with VS 18 Community under Program Files. Let CMake Tools source the developer environment instead, which locates the toolchain through vswhere, and drop the explicit compilerPath so cpptools takes the compiler from compile_commands.json. Also point C_Cpp.default.compileCommands at the build directory this workspace actually configures, and drop CMAKE_EXPORT_COMPILE_COMMANDS because CMake Tools already exports the database by default.
This commit is contained in:
parent
0627e23e92
commit
6c03b4aaa5
|
|
@ -2,15 +2,17 @@
|
|||
"cmake.sourceDirectory": "${workspaceFolder}",
|
||||
"cmake.buildDirectory": "${workspaceFolder}/_Build/vscode-clang",
|
||||
"cmake.generator": "Ninja",
|
||||
"cmake.useVsDeveloperEnvironment": "always",
|
||||
"cmake.environment": {
|
||||
"CC": "clang-cl",
|
||||
"CXX": "clang-cl",
|
||||
"PATH": "${env:ProgramFiles}/Microsoft Visual Studio/18/Community/VC/Tools/Llvm/x64/bin;${env:ProgramFiles}/Microsoft Visual Studio/18/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja;${env:PATH}"
|
||||
"CXX": "clang-cl"
|
||||
},
|
||||
"cmake.configureSettings": {
|
||||
"CMAKE_C_COMPILER": "clang-cl",
|
||||
"CMAKE_CXX_COMPILER": "clang-cl",
|
||||
"CMAKE_PREFIX_PATH": "C:/Qt/6.11.0/msvc2022_64"
|
||||
}
|
||||
},
|
||||
"C_Cpp.default.intelliSenseMode": "windows-clang-x64",
|
||||
"C_Cpp.default.compileCommands": "${workspaceFolder}/_Build/vscode-clang/compile_commands.json",
|
||||
"C_Cpp.default.cppStandard": "c++20"
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue