wasi-sdk icon indicating copy to clipboard operation
wasi-sdk copied to clipboard

MSVC IntelliSense stops working after wasi-sdk-15

Open riverar opened this issue 1 year ago • 0 comments

MSVC C++ IntelliSense gets very confused with recent SDK versions. (Tested with Visual Studio 2019, 2022, and 2022 Preview builds.) Is this perhaps an upstream LLVM 14.0 issue?

(Variants of this issue appear in other MSVC projects that utilize wasi-sysroot but run through MSVC for IntelliSense.)

Steps to reproduce

  1. Create empty directory

  2. Download latest sysroot release (https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-21/wasi-sysroot-21.0.tar.gz)

  3. Extract sysroot into [directory]\wasi-sysroot

  4. Create test.cpp with the following contents:

     #include <string>
    
     int main() {
         std::string test("hello");
     }
    
  5. Create CppProperties.json with the following contents:

    {
      "configurations": [
        {
          "name": "Repro",
          "includePath": [
            "${workspaceRoot}\\wasi-sysroot\\include",
            "${workspaceRoot}\\wasi-sysroot\\include\\c++\\v1",
            "${env.INCLUDE}"
          ],
          "intelliSenseMode": "windows-msvc-x64"
        }
      ]
    }
    
  6. Open Visual Studio > File > Open Folder > [folder path]

  7. Observe (after a bit of waiting), Visual Studio shows red squiggles™️on std::string usage

  8. Close Visual Studio

  9. Delete [folder]\.vs

  10. Edit CppProperties.json and change intelliSenseMode to windows-clang-x64

  11. Open Visual Studio > File > Open Folder > [folder path]

  12. Observe (after a bit of waiting), Visual Studio shows no squiggles™️

riverar avatar Feb 06 '24 01:02 riverar