I find it's hard to find suitable IDE to work with your platform. I end up using Visual Studio 2019 with C++ and now including emscripten.h causes 627 errors on Intellisense
I tried to ignore them by setting CAExecludePaths but none of them working.
If you really care about future about WASM then please fix this issue otherwise many developers will leave WASM eco system.
Actually CAExecludePaths appear to be working but with it 627 errors and without it 958 errors. This is absurd

Given that you have the intellisense at hand, perhaps you'd be able to provide a PR that cleans this up?
If you really care about future about WASM then please fix this issue otherwise many developers will leave WASM eco system.
This is absurd
Appreciate the ultimatum, but these kinds of messages do not really mean anything. Different people use different sets of tools and workflows. I think you have stumbled to discover that not many people use Visual Studio intellisense on Emscripten Wasm projects. Perhaps you would be able to champion improvements for the support there?
Maybe you can recommend me alternative to intellisense perhaps that one that many people use.
It order to make such things work in an IDE you will probably need to teach it about the emcc compiler. Things like what its default include paths are.
You might have more luck with Visual Stdio Code, its seems a lot more flexible. But you will still need to configure it yourself. Perhaps write the mailing to the "emscripten-discuss" mailing list to see if anyone else has done this yet. If you end up with a working solution I'm sure we would be happy to add the configuration instructions to the docs.
@sbc100 I did set include paths and the EMCC build option.
Oh come on. Development is not a casino and I'm not here to try my luck . Already spent 5 hours on this. This has to be more smooth than this.
This thread reminded me of an excellent article that Rich Hickey wrote a couple of years ago about open source development interaction around the Clojure programming language and community. Old, but seems to resonate quite well with this conversation thread.
When we write that maybe you'd like to champion such support, we are dead serious. There are currently no Emscripten developers that would be spending their free time implementing Visual Studio integration, and there are unfortunately no companies that would have this close at heart either, so someone will have to step up for that to happen.
It is sad to see a developer that with 5 hours of frustration already concludes that WASM may have a ruined future.
I have been learning Emscripten and everything related to WASM for weeks, it is hard but I learned many things that I did not know, I am missing a long road of problems but here we go.
I see that you are used to Visual Studio where everything is configured and you do not need to place anything, and just click on the play button. That is the bad thing when everything is provided by your mom.
I use Visual Studio Code and it works great, intellisense, include dirs, etc.
My c_cpp_properties.json file in VSCode, for me and my friend Evilsan.
{
"configurations": [
{
"name": "EmscriptenConfigJoma",
"includePath": [
"${workspaceFolder}",
"Include",
"I:/WebAssembly/emsdk/upstream/emscripten/system/include/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "I:/WebAssembly/emsdk/upstream/emscripten/em++.bat",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
},
{
"name": "EmscriptenEvilsan",
"includePath": [
"${workspaceFolder}/**",
"Include",
"A:/emscripten/emsdk/upstream/emscripten/system/include/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "A:/emscripten/emsdk/upstream/emscripten/em++.bat",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
My Compile.ps1 script
Clear-Host
Write-Host "â–ˆ Compiling VModule.js/.wasm - $([datetime]::Now.ToShortDateString()) $([datetime]::Now.ToShortTimeString())" -ForegroundColor Blue
Write-Host
em++.bat `
"main.cpp" `
"Vx.cpp" `
"Lib\Ins-Emscripten-llvm-BitCode\lib\Ins.bc" `
-o "VModule.js" `
-I "Include" `
-std=c++17 `
-O2 `
--bind `
--pre-js "Pre.js" `
--post-js "Post.js" `
-s WASM=1 `
-s SINGLE_FILE=0 `
-s ASYNCIFY=1 `
-s NO_EXIT_RUNTIME=1 `
-s EXTRA_EXPORTED_RUNTIME_METHODS=[`'ccall`',`'cwrap`',`'lengthBytesUTF8`',`'stringToUTF8`'] `
-s EXPORT_NAME=`'VModule`' `
-s MODULARIZE=1 `
-s DISABLE_EXCEPTION_CATCHING=0 `
-s ASYNCIFY_IMPORTS=[`'EM_JS_GetIP`'] `
-s EXPORTED_FUNCTIONS=[`'_main`',`'_C_GetProperties`'] `
-s VERBOSE=0 `
-s ENVIRONMENT=web,worker `
-s USE_PTHREADS=1 `
# -s ASSERTIONS=1
# -s FETCH=1 `
#--closure 1 `
Write-Host
Write-Host "â–ˆ Ended" -ForegroundColor DarkGreen
Getting to have those configuration files and that everything works beautifully, it may seem silly but it has taken me a long time but the reward is great since I have integrated my WASM with my web project in Blazor with C#.
I appreciate the work taken by all those who carry out and continually improve this project so that others like me enjoy it.
Long live the emscripten and WASM lords.
It is sad to see a developer that with 5 hours of frustration already concludes that WASM may have a ruined future.
I have been learning Emscripten and everything related to WASM for weeks, it is hard but I learned many things that I did not know, I am missing a long road of problems but here we go.
I see that you are used to Visual Studio where everything is configured and you do not need to place anything, and just click on the play button. That is the bad thing when everything is provided by your mom.
I use Visual Studio Code and it works great, intellisense, include dirs, etc.
My c_cpp_properties.json file in VSCode, for me and my friend Evilsan.
{ "configurations": [ { "name": "EmscriptenConfigJoma", "includePath": [ "${workspaceFolder}", "Include", "I:/WebAssembly/emsdk/upstream/emscripten/system/include/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "windowsSdkVersion": "10.0.18362.0", "compilerPath": "I:/WebAssembly/emsdk/upstream/emscripten/em++.bat", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "clang-x64" }, { "name": "EmscriptenEvilsan", "includePath": [ "${workspaceFolder}/**", "Include", "A:/emscripten/emsdk/upstream/emscripten/system/include/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "windowsSdkVersion": "10.0.18362.0", "compilerPath": "A:/emscripten/emsdk/upstream/emscripten/em++.bat", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "clang-x64" } ], "version": 4 }My Compile.ps1 script
Clear-Host Write-Host "â–ˆ Compiling VModule.js/.wasm - $([datetime]::Now.ToShortDateString()) $([datetime]::Now.ToShortTimeString())" -ForegroundColor Blue Write-Host em++.bat ` "main.cpp" ` "Vx.cpp" ` "Lib\Ins-Emscripten-llvm-BitCode\lib\Ins.bc" ` -o "VModule.js" ` -I "Include" ` -std=c++17 ` -O2 ` --bind ` --pre-js "Pre.js" ` --post-js "Post.js" ` -s WASM=1 ` -s SINGLE_FILE=0 ` -s ASYNCIFY=1 ` -s NO_EXIT_RUNTIME=1 ` -s EXTRA_EXPORTED_RUNTIME_METHODS=[`'ccall`',`'cwrap`',`'lengthBytesUTF8`',`'stringToUTF8`'] ` -s EXPORT_NAME=`'VModule`' ` -s MODULARIZE=1 ` -s DISABLE_EXCEPTION_CATCHING=0 ` -s ASYNCIFY_IMPORTS=[`'EM_JS_GetIP`'] ` -s EXPORTED_FUNCTIONS=[`'_main`',`'_C_GetProperties`'] ` -s VERBOSE=0 ` -s ENVIRONMENT=web,worker ` -s USE_PTHREADS=1 ` # -s ASSERTIONS=1 # -s FETCH=1 ` #--closure 1 ` Write-Host Write-Host "â–ˆ Ended" -ForegroundColor DarkGreenGetting to have those configuration files and that everything works beautifully, it may seem silly but it has taken me a long time but the reward is great since I have integrated my WASM with my web project in Blazor with C#.
I appreciate the work taken by all those who carry out and continually improve this project so that others like me enjoy it.
Long live the emscripten and WASM lords.
VS Code is not the answer for everything. It's a text editor not even a proper IDE.
I'm not building hobby projects. Enterprise projects need a proper IDE.
It's not a bad thing when everything provided by mom. it increase productivity and I can force my brain cells to work on a problem.
You should build an OS based on your mom argument because it provide you great reward while others getting frustrated.
Emscripten is not Haskell !!!
Alright, it looks like this topic is right about over for now. Let's take a breather. Contributions are super-welcome, looking forward to all the PRs that add VS and VS Code workflows for the community's benefit.
Most helpful comment
It is sad to see a developer that with 5 hours of frustration already concludes that WASM may have a ruined future.
I have been learning Emscripten and everything related to WASM for weeks, it is hard but I learned many things that I did not know, I am missing a long road of problems but here we go.
I see that you are used to Visual Studio where everything is configured and you do not need to place anything, and just click on the play button. That is the bad thing when everything is provided by your mom.
I use Visual Studio Code and it works great, intellisense, include dirs, etc.
My c_cpp_properties.json file in VSCode, for me and my friend Evilsan.
My Compile.ps1 script
Getting to have those configuration files and that everything works beautifully, it may seem silly but it has taken me a long time but the reward is great since I have integrated my WASM with my web project in Blazor with C#.
I appreciate the work taken by all those who carry out and continually improve this project so that others like me enjoy it.
Long live the emscripten and WASM lords.