microsoft / microsoft/vscode-cmake-tools

Using Clang kit, headers are not found for Intellisense, despite cmake-tools being set as the Configuration Provider

Open
#770 28 comments 11 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature: cpptools integration stale-exempt
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:
  1. 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.
  2. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.