The c_ccp_properties.json generated by the editor does not include all the required dependencies so vs code can not properly use intellisense. The #include statements show files missing but the project builds fine using the editor.
I had to add these to the includePath and browse.path to silence those warnings
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1
/usr/local/include
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/9.0.0/include
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
/usr/include
Also it seems like intellisense is not working correctly but that might be a problem with vs code cpp tools so I’m still using the “tag parser” setting
Hi ,
What are the exact warnings that you are seeing? I created a new basic code project and opened it in VS Code, and noticed a couple warnings about a dependency to an Engine file that couldn’t be found. Adding your change above to the c_ccp_properties.json file did not seem to clear up those particular warnings, but setting the Tag Parser setting did. I am wondering if I am seeing something different than you were.
I think we were seeing the same thing. It complains about random source files ie. cannot open source file “new” (dependency of “***GameInstance.h”). Do you have xcode 9+ installed? Even after I fix those issues, if I have the “Default” intellisense engine selected vscode starts to complain about UE classes so I don’t think it is correctly parsing it. So I still have to use “Tag Parser” to get intellisense to work.
Please see
here: link text
and here: link text
Some include files are missing, when you create the c_cpp_properties.json
.
But we still get errors. This might be because Microsofts VSCode cpp_tools will not accept Unreal Header Tools Decorations like USRUCT(). The result: strange errors.
i.e.: I tried to use an enum like this:
UENUM(BlueprintType)
enum class ETestEnum : uint8
{
// SNIP
};
Intellisense tells me, that I cannot use enum class here and I should use enum.