Closed sam20908 closed 3 years ago
Can you give us more information about your current installation state?
@andreeis
vswhere.exe
is present in the installation (it also shows that in the log)vcvarsall.bat
is also present in the installation (I only have one installation when I reported this)Note: After examining the log a bit, it seems that it did pick up the installation because of vswhere.exe
, but it tried executing a non-existent .bat
file in the Temp
folder, therefore failing to set the kit?
Thank you for the extra info. We will try to reproduce this and debug. I wasn't able to spot anything suspicious yet from a quick glance at the extension source code, following up on the hints from your logs.
Only if it's not too difficult, can you try to install 1.4.1 instead of 1.4.2 and rescan the kits? We'll get to do that as well but if you manage to find the answer quicker than us (whether the missing kits show up for 1.4.1) it might give us more hints to find the root cause.
I tried version 1.4.1, and it still didn't find the kit.
On a side note, I recalled my history a bit further because I uninstalled and installed Visual Studio a lot in the past. It worked when I had Visual Studio Build Tools and was able to pick it up. As soon as I uninstall that though, I also removed all the entries in the kits JSON file because I don't think CMake Tools removes non-existent kits back then. Then that was when it no longer picked up any further installations of Visual Studio (and that was when the supposedly .bat
files were deleted?).
The problem appears to be related to having a space in the path. @andreeis can you try putting the temp bat file in a path with a space in it and see if that reproduces the error?
console.ts:137 [Extension Host] [CMakeTools] 2020-10-16T00:41:36.143Z [error] [kit] Error: ENOENT: no such file or directory, open 'C:\Users\Sam Huang\AppData\Local\Temp\vs-cmt-0.853832593212307.bat.env'
t.log @ console.ts:70
console.ts:137 [Extension Host] Error running C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat x64 with: 'C:\Users\Sam' is not recognized as an internal or external command,
operable program or batch file.
Yes that's it. I also thought to experiment with quoting to fix this but for some reason things still don't work well if I make sure to quote some paths in our code base. I'm sure that after a bit more time I can find a good fix. In the meantime I can create a low priority work item to make the extension deal with the space path as well.
I think this is worthy to include in 1.5.
So the actual issue is the fact my home path has a space?
If so, should I rename this issue to better reflect that?
Removing the space is just your workaround until we release 1.5. The extension should still handle this scenario. We are working on a fix right now. Thank you for reporting this.
Unfortunately, I can't really rename my user folder since that'd break many other things. I have patience 😄 !
This should be fixed in CMake Tools 1.5.0 which was published today. Let us know if you encounter any issues with this release.
Yep it works! Thank you!
Brief Issue Summary
CMake Tools is unable to detect Visual Studio kits. It doesn't matter if it's Release or Preview version, because I tried them all. I can use "unspecified" to make it use the Visual Studio kit, but that doesn't really solve the main problem.
Expected:
CMake Tools should detect Visual Studio kits
Apparent Behavior:
It finds every other compiler EXCEPT Visual Studio (it even finds Clang with MSVC)
CMake Tools Log
Developer Tools Log
Platform and Versions
Other Notes/Information
It was working fine for some time, but I noticed it stopped working after one of the times I uninstalled Visual Studio to install the Preview version.