When I use #include <HeaderName.h>
, IntelliSense auto-complete suggests Unreal Engine API headers as expected.
However, when I use #include "HeaderName.h"
, IntelliSense does not detect or suggest any Unreal Engine headers, even though the code compiles and runs fine.
I have formatted my computer and done a clean installation of everything three times today,
but I still have the same IntelliSense issue. 
for the most part you want to stick with the
#include "MyClass.h"
it does basically a backwards search for the file (it can only find things in the /Private director if the file looking for the other /private is also in the /Private director, but we mostly only include headers, yes I know the Engine code references the .cpp files that is for reflection, and can cause headaches)
the angle bracket of include comes from resolving based on environment variables, and absolute path. that is why it is more used when including some standard library.
the intelliSense suggestions can take time, and sometimes restarting VS to get to work, and in some cases you might have to go through the “Generate Visual Studio Project Files” step (delete /.vs, /Intermediate, /Binaries, and the .sln then right click the .uproject and “Generate Visual Studio Project Files”) again to get some IntelliSense things to work.
for the header of say a class you put into the project through Unreal Editor it check to make sure it was actually added to the project in Visual Studio (sometimes this step doesn’t happen), if it doesn’t show up in suggestions, but you type it in, and the code compiles it can take a minute or two for Intellisense to come to its senses…
if you added the class manually to the project, it can take some steps for the Engine to detect it for things like UCLASS and anything with reflection.