microsoft / microsoft/vscode-cmake-tools
Using Clang kit, headers are not found for Intellisense, despite cmake-tools being set as the Configuration Provider
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1.7k
- Forks
- 546
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 32
Description
Brief Issue Summary
When switching to the "Clang 8.0.0 for MSVC with Visual Studio Tools 2019 (amd64)" kit, all standard headers fail to be found and create a bevy of squiggles and terrible advice about setting includePath, something that feels really wrong and unmaintable.
My Configuration Provider in cpptools is "vector-of-bool.cmake-tools" as per the instructions right there in their extension.
Cpptools' Windows SDK version setting is set to "10.0.18362.0", which is installed on my system.
Code was run from the x64 Developer Command line, to ensure all MSVC environment variables were properly set. This did not help.
Expected:
- Switching to Clang kit should have no deleterious effect on Intellisense's ability to find standard headers, which are known to be the same on Windows (the ones that cl.exe uses) since clang does not have its own on Windows.
- Intellisense should be able to find the Windows SDK headers, (without manually pasting in include paths.)
Apparent Behavior:
Switching to Clang kit makes Intellisense in cpptools unable to find standard headers.
Platform and Versions
- Operating System: Windows
- CMake Version: 3.15
- VSCode Version: 1.37.1 etc.
- CMake Tools Extension Version: 1.1.3
- Cpptools: 0.25.1
- Compiler/Toolchain: Clang 8.0.0.0 for MSVC with Visual Studio Tools 2019 (amd64) kit
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named in the issue. Start by reproducing the failure with the listed Clang kit, CMake Tools 1.1.3, cpptools 0.25.1, and Windows SDK 10.0.18362.0, then trace the Configuration Provider integration. Done means switching kits preserves discovery of standard and Windows SDK headers without manually adding include paths.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp, typescript, vscode
- Domain
- build-system, developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100